方法重载(overload)
*什么时候使用方法重载?
**功能相似的时候,尽可能让方法重名。
但是:功能不同/不相似的时候,尽可能让方法名不同
*什么条件满足之后构成方法重载?
**在同一个类中
**方法名相同
**参数列表不同:
-
-数量不同
例:public static void m1(){} public static void m1(int a) {}
-
-顺序不同
例:public static void m2(int a, double b){} public static void m2(double a, int b){}
-
-类型不同
例:public static void m3(int x){} public static void m3(double x){}
*方法重载和什么有关?和什么无关?
-
**方法重载和方法名+参数列表有关
-
**方法重载和返回值类型无关
-
**方法重载和修饰符列表无关
**以下不是方法重载:
***例:
public static void m4(int a, int b){}
public static void m4(int b, int a){}
***例:
public static void x(){}
public static int x() {}
示例:
public class OverloadTest01 {
public static void main(String [] args) {
U.p(10);
U.p("abc");
U.p('a');
U.p(3.0);
}
}
class U{
public static void p(byte b) {
System.out.println(b);
}
public static void p(double b) {
System.out.println(b);
}
public static void p(int b) {
System.out.println(b);
}
public static void p(String b) {
System.out.println(b);
}
public static void p(long b) {
System.out.println(b);
}
public static void p(short b) {
System.out.println(b);
}
public static void p(char b) {
System.out.println(b);
}
}