以下程序在main方法内发生了“obj.method()”行中的编译错误。错误是“来自类Superclass的method method()不可见”。根据我的理解,它应该能够访问子类的公共方法。任何人都可以解释它背后的概念吗?重写的私有方法导致在访问Java中的子类公用方法时出现异常
class Superclass{
private void method(){
System.out.println("Inside superclass method");
}
}
public class MyClass extends Superclass{
public void method(){
System.out.println("Inside subclass method");
}
public static void main(String s[]){
Superclass obj = new MyClass();
obj.method();
}
}
你不能重写私有方法,如果绝对要重写,则将其声明为protected/public。 – codeMan 2013-05-13 09:23:16