方法重载不是与访问修饰符和返回值类型无关么?为什么马老师的这个程序他就不构成重载呢publicclassTest{voidmax(inta,intb){System.out.println(a>b?a:b);}参数类型不同,可以被编译...
方法重载不是与访问修饰符和返回值类型无关么?为什么 马老师的这个程序他就不构成重载呢
public class Test {
void max(int a , int b) {
System.out.println( a > b ? a : b );
} 参数类型不同,可以被
编译器识别
void max(short a , short b) {
System.out.println("short");
System.out.println( a > b ? a : b );
}
void max(float a, float b) {
System.out.println( a > b ? a : b ); 参数返回类型不同,构
} 成重名不能被编译器
识别
int max(float a, float b) {
System.out.println( a > b ? a : b );
}
public static void main(String[] args) {
Test t = new Test();
t.max(3, 4);
short a = 3;
short b = 4;
t.max(a, b);
}
}
他为什么说 这里不是重载呢
void max(float a, float b) {
System.out.println( a > b ? a : b ); 参数返回类型不同,构
} 成重名不能被编译器
识别
int max(float a, float b) {
System.out.println( a > b ? a : b );
}
展开