Java 重载
#
时间: 2016/8/28 21:48:04
java 方法重载#
前提条件: 方法名相同
- 参数的个数不同。
- 参数个数相同,但是参数的顺序不同。
- 参数个数相同,但是参数的类型不同。
基本类型方法重载时存在的问题:
基本类型都有正负
类型 | 长度 |
---|---|
boolean | - |
char | 16 |
byte | 8 |
short | 16 |
int | 32 |
long | 64 |
folat | 32 |
double | 64 |
- 存在对应类型的方法,调用对应类型的方法。
1 2 3 4 5
int a = 5; f(a) //会调用f(int a) f(int a){} f(long a){}
-
不存在对应类型的方法,但是存在大于对应类型的方法,则调用最小的大于对应类型的方法。(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)
-
注:返回值的不同不能用来实现方重载。