我有兩個問題在此代碼混淆「重寫一個私有方法」
public class Override {
private void f() {
System.out.println("private f()");
}
public static void main(String[] args) {
Override po = new Derived();
po.f();
}
}
class Derived extends Override {
public void f() {
System.out.println("public f()");
}
}
/*
* Output: private f()
*/// :~
1)如何是函數f是對覆蓋PO的參考可見;
2)爲什麼是輸出的 「私人f()的」
但是如何與子類的一個對象可以調用一個超類的一個私有方法的參考???這是一個錯誤? – 2009-08-28 13:56:10
不,這不是一個錯誤,這完全是因爲它應該工作。 – Jesper 2009-08-29 05:56:37
但不違反這個繼承的規則和後期綁定 – 2009-08-29 08:00:56