[英]java anoymous class can access private member of outer class. Why this code cannot access private data member?
我想通過在不同類中創建的匿名類訪問類的私有成員。 我是java新手,請解釋一下並告訴我做錯了什么。
class movie{
private String moviename="bahubali";
void display(){
System.out.println(moviename);
}
}
public class InnerClass{ //main class
public static void main(String[] args) {
movie anonymous=new movie() {
void display() {
System.out.println(moviename+" in anonymous class");
}
};
anonymous.display();
}
}
您的匿名類繼承自movie
類(您應該將其改為Movie
以符合 Java 標准)。
繼承類被授予對protected
成員的訪問權限,而不是對private
成員的訪問權限。
所以在這種情況下的修復應該改變
private String moviename="bahubali";
到
protected String moviename="bahubali";
.
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.