在 Java 中,內部類可以訪問其外部類的成員(包括私有成員)。但是,如果你想讓一個類的子類訪問這個外部類的內部類,你需要遵循以下規則:
內部類必須是靜態的(static),這樣它才能被子類繼承。非靜態內部類不能被繼承。
子類需要使用外部類的名稱作為前綴來訪問靜態內部類。
下面是一個例子:
public class OuterClass {
private static int outerVar = 10;
public static class InnerClass {
public void accessOuterVar() {
System.out.println("Accessing outer variable: " + outerVar);
}
}
}
public class SubClass extends OuterClass.InnerClass {
public void accessInnerClassMembers() {
// Accessing the static inner class members
System.out.println("Accessing inner class members from subclass: " + outerVar);
}
}
在這個例子中,SubClass
繼承了 OuterClass
的靜態內部類 InnerClass
。注意,我們使用了 OuterClass.InnerClass
來表示靜態內部類。子類 SubClass
可以直接訪問外部類的靜態變量 outerVar
,因為它是靜態的。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。