package java_study01;
/*
* 1.定义:在同一类中,相同的方法名,不同的参数列表的方法之间,彼此构成重载!
* 举例:Arrays中的sort(Xxx[] xxx) / System.out.println(Xxx xxx)
*
* 总结:"两同一不同".
* 两同:同一个类、方法名相同
* 一不同:参数列表不同(①参数个数不同 ② 参数类型不同)
*
* 2.方法的重载与否与方法的形参的变量名没有关系!与方法返回值类型、权限修饰符、方法体都没有关系!
* 3.如果确定调用的是一个类的具体的哪个方法?
* 答:指明方法名--->指明参数的类型(符合变量类型自动提升规则)
* */
public class 方法重载 {
public static void main(String[] args) {
overloadTest overloadTest = new overloadTest();
overloadTest.getSum(1, 2);//注释了1方法,那么变量类型自动提升到double类型,调用2方法
}
}
class overloadTest {
// 如下的五个方法构成重载
public void getSum(int i, int j) {
System.out.println("1");
}
public double getSum(double d1, double d2) {
System.out.println("2");
return d1 + d2;
}
public void getSum(String s1, String s2) {
System.out.println("3");
}
// 属于参数类型不同
public void getSum(int s1, String s2) {
System.out.println("43");
}
public void getSum(String s1, int s2) {
System.out.println("5");
}
}
判断方法重载: