我目前正在复习 OCA 考试,并认为 int/float 方法适用于第三次考试。
在 Jeane Boyarsky 的 OCA Study Guide 中只说了 4 条顺序规则来选择正确的重载方法。
按类型精确匹配
较大的原始类型
自动装箱类型
可变参数
有人可以解释为什么java说它不明确吗?
public static void main(String... args){
OverLoadingMethod ov=new OverLoadingMethod();
ov.test(1F,2);
ov.test(1,2F);
ov.test(1,2);
}
public void test(float i,int j){
System.out.println("float/int");
}
public void test(int i,float j){
System.out.println("int/float");
}
public void test(float i,float j){
System.out.println("float/float");
}
产生这个错误
OverLoadingMethod.java:12: error: reference to test is ambiguous
ov.test(1,2);
^
both method test(float,int) in OverLoadingMethod and method test(int,float) in OverLoadingMethod match
繁花不似锦
慕虎7371278
犯罪嫌疑人X
相关分类