继承中的java重载
所以我在学习动态规划时遇到了重载解析的概念,但我很难理解这一点。声明是这样的- “如果编译器找不到任何具有匹配参数类型的方法,或者如果多个方法在应用转换(强制转换)后都匹配,编译器将报告错误”
我试着用一个例子来验证这个说法,结果如下-
public class OverloadingResolution{
public static void main(String[] args){
ClassB b= new ClassB();
b.check(3);
ClassB c=new ClassC();
c.check(3)
}
}
class ClassA{
public void check(float a){
System.out.println("Inside ClassA----> value of a is"+a);
}
}
class ClassB extends ClassA{
public void check(float a){
System.out.println("Inside ClassB----> value of a is"+a);
}
}
class ClassC extends ClassB{
public void check(short a){
System.out.println("Inside ClassC----> value of a is"+a);
}
}
结果是:
内部B类值-->;a的值为3.0
内部B类值-->;a的值为3.0
我的疑问是,我预期会出现编译时错误ClassB b= new ClassB();
,因为b有多个具有匹配参数的方法
共 (0) 个答案