这是我的代码:
class base1
{
}
class der1 extends base1
{
public static void main(String []args)
{
base1 b=new der1();
b.showTest();
}
public void showTest()
{
System.out.println("Hello i am a derive class");
}
}
最佳答案
它不会编译。
你还需要在基类中使用 showTest()
以使其可编译
base1 b=new der1(); b.showTest();
这里的b
是base
的引用,编译时需要base
中的showTest()
由于
base
中的 showTest()
并在运行时检查
base1 b=new der1();
它将调用 der1
版本的 showTest()
另见
关于java - 我无法执行虚拟方法调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4596103/