以下程序在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