方法重载(Overload)
基本介绍
Java 的同一个类中,允许多个同名方法的存在,但要求形参列表不同
应用场景
System.out.println ( ) 可以输出不同的数据类型的原因就是方法重载的使用
优势
减轻了起名、记名的麻烦
代码示例
java
public class overload {
public static void main(String[] args) {
t1 caculate = new t1();
System.out.println(caculate.getnum(1,1));
System.out.println(caculate.getnum(1,2.5));
System.out.println(caculate.getnum(1,1,1));
}
}
class t1{
public int getnum(int a, int b){
System.out.println("getnum(int a, int b) 被调用");
return a + b;
}
public double getnum(int a, double b){
System.out.println("getnum(int a, double b) 被调用");
return a + b;
}
public int getnum(int a, int b, int c){
System.out.println("getnum(int a, int b, int c) 被调用");
return a + b + c;
}
}使用细节
(1)方法名:必须相同
(2)形参列表:必须不同(形参类型或个数或顺序,至少有一样不同,参数名无需求,即参数名不同对方法重载没有影响)
(3)返回类型:无需求,即返回类型不同对方法重载没有影响
(4) 方法调用机制:优先比较形参类型,匹配之后就会调用
小练习
与 void show(int a, char b, double c) {} 构成重载的方法
a: void show(int x, char y, double z) {} // 不是
b: int show(int a, double c, char b) {} // 是
c: void show(int a, double c, char b) {} // 是
d: boolean show(int c, char b) {} // 是
e: void show(double c) {} // 是
f: double show(int x, char y, double z) {} // 不是
g: void shows() {} // 不是
