我是
Java的新手,我已经阅读了一些有关重写方法的教程,但我看到的一个例子并不像我期望的那样工作.例如,我有代码:
public class A{
public void show(){
System.out.println("A");
}
public void run(){
show();
}
public static void main( String[] arg ) {
new A().run();
}
}
public class B extends A{
@Override
public void show(){
System.out.println("B");
}
}
当我实例化并调用B.run()时,我希望看到“B”输出.但是,我看到了“A”.我究竟做错了什么?
编辑:是的,这些类分为两个单独的文件.他们为了简洁而一起展示.
编辑:我不确定B是如何被实例化的,因为它是由使用类加载器的第三方程序完成的.
编辑:有关第三方程序的更多信息.它首先调用A.main(),我最初没有显示(抱歉).我假设我需要制作“new A().run();”更通用的使用当前类的名称.那可能吗?