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)
-
注:返回值的不同不能用来实现方重载。