小编ale*_*ior的帖子

当方法之间的差异是参数子类型时,将null传递给重写方法

OUTPUT:乙

为什么虚拟机会调用此方法f(null){System.out.println("B");}

为什么不 f(null){System.out.println("A");}

public class Test{

    public static class A {}
    public static class B extends A {}

    public void f(A a) {System.out.println("A");}
    public void f(B a) {System.out.println("B");}

    public static void main(String[] args) {
        new Test().f(null);
    }
}
Run Code Online (Sandbox Code Playgroud)

java oop jvm

7
推荐指数
1
解决办法
173
查看次数

标签 统计

java ×1

jvm ×1

oop ×1