测试程序代码:
class Computer {
private int x; public Computer(){
this(10);
} /**
* 构造方法重载
* @param x
*/
public Computer(int x){
this.x=x;
}
/**
* 根据参数个数不同的方法重载
* @param a
* @param b
* @return
*/
public int max(int a,int b){
return max(a,b,Integer.MIN_VALUE);//Integer.MIN_VALUE是int类型中最小数-2147483648
}
public int max(int a,int b,int c){
int max=a;
if (max<b) max=b;
if (max<c) max=c;
return max;
}
/**
* 根据参数类型不同方法(函数)重载
* @param x
* @return
*/
public int add(int x){
return x;
}
public float add(float x){
return x;
} /**
* 测试方法的返回值是否可以作为重载的标准
* @return
*/
// public int returnValue(){
// return 5;
// }
// public float returnValue(){
// return 5;
// }
// 编译器报错,returnValue方法已经存在。很明显根据返回值类型是不可以判断方法是否重载的。
}
class OverLoading{
public void test(){
Computer computer=new Computer();
new Computer(100);
int max_2=computer.max(10,11);
int max_3=computer.max(10,29,33);
int tmp1=computer.add(10);
float tmp2=computer.add(10f);
}
}
结论:判断方法(函数)重载的依据是参数个数的不同和参数类型的不同,根据返回值类型的不同是不可以判断方法重载。
关联博客(CSDN):https://blog.csdn.net/m0_38022608/article/details/80251993
欢迎私下交流编程技术!(QQ:2187093468)