Java重载和继承规则-为什么编译器在层次结构中选择专门的类

时间:2018-10-09 07:53:01

标签: java inheritance overloading

为什么编译器将方法调用与最专业的类匹配,而不是模棱两可?

请参见以下示例。 W打印在屏幕上。

class X {}

class Y extends X {}

class Z extends Y {}

class W extends Z {}

public class TestClass{
    public void method(Object o){
    System.out.println("O");
    }
public void method(X x){
    System.out.println("X");
}
public void method(Y y){
    System.out.println("Y");
}
public void method(Z z){
    System.out.println("Z");
}
public void method(W w){
    System.out.println("W");
}

public static void main(String args[]){
    TestClass tc = new TestClass();
    tc.method(null);
}
}

0 个答案:

没有答案