📜  Java |继承|问题1

📅  最后修改于: 2021-06-29 22:13:21             🧑  作者: Mango

以下Java程序的输出?

class Base {
    public void show() {
       System.out.println("Base::show() called");
    }
}
   
class Derived extends Base {
    public void show() {
       System.out.println("Derived::show() called");
    }
}
   
public class Main {
    public static void main(String[] args) {
        Base b = new Derived();;
        b.show();
    }
}

(A)派生:: show()被调用
(B) Base :: show()被调用答案: (A)
说明:在上面的程序中,b是对Base类型的引用,并且是Derived类的对象。

在Java,默认情况下函数是虚拟的。因此发生了运行时多态,并调用了派生fun()。
这个问题的测验