0
我知道一個抽象類不能被實例化。然而,如果我們寫下如下代碼的代碼,它會實例化一個抽象父代的匿名子類。根據Java規範,子類對象不應該有權訪問其父私有成員。做匿名具體的子類繼承抽象父私人領域?
讓我感到困惑的是,匿名子類對象能夠通過打印存儲在「我」中的值來訪問抽象父類的私人字段。我有什麼誤解?
public class Main {
public static void main (String [] args){
B myB = new B() {};
myB.print();
}}
public abstract class B {
private int i = 5;
public void print(){
System.out.println(i);
}}
謝謝Aasmund! – mowienay