跳转至

Java 重载

#

时间: 2016/8/28 21:48:04

java 方法重载#

前提条件: 方法名相同

  1. 参数的个数不同。
  2. 参数个数相同,但是参数的顺序不同。
  3. 参数个数相同,但是参数的类型不同。

基本类型方法重载时存在的问题:
基本类型都有正负

类型 长度
boolean -
char 16
byte 8
short 16
int 32
long 64
folat 32
double 64
  1. 存在对应类型的方法,调用对应类型的方法。
    1
    2
    3
    4
    5
    int a = 5;
    f(a) //会调用f(int a)
    
    f(int a){}
    f(long a){}
    
    1. 不存在对应类型的方法,但是存在大于对应类型的方法,则调用最小的大于对应类型的方法。(char类型会直接转换为int,不会转换为short类型)

      int a = 2; f(a);// 会调用 f(long a)

      f(long a){} f(flaot a)}{} f(double a){} 3. 不存在对应类型的方法,且不存在大于对应类型的方法,则需要类型转换,否则编译不通过

      int a = 5; f(a); //编译不通过 f( (char)a ) //可以

      f(char a){} f(byte a)

注:返回值的不同不能用来实现方重载。