java 內(nèi)部類能訪問外部類嗎

小樊
81
2024-11-15 09:37:48
欄目: 編程語言

是的,Java內(nèi)部類可以訪問外部類的成員(包括私有成員)。內(nèi)部類是定義在外部類內(nèi)部的類,因此它可以訪問外部類的所有成員。如果內(nèi)部類是靜態(tài)的(使用static關(guān)鍵字修飾),則它只能訪問外部類的靜態(tài)成員。

以下是一個(gè)簡單的示例,說明內(nèi)部類如何訪問外部類的成員:

public class OuterClass {
    private int data = 10;

    class InnerClass {
        public void accessOuterMembers() {
            System.out.println("Accessing outer class private member: " + data);
        }
    }

    public static void main(String[] args) {
        OuterClass outer = new OuterClass();
        OuterClass.InnerClass inner = outer.new InnerClass();
        inner.accessOuterMembers(); // 輸出:Accessing outer class private member: 10
    }
}

在這個(gè)例子中,InnerClassOuterClass 的內(nèi)部類。它可以訪問外部類的私有成員 data。在 main 方法中,我們創(chuàng)建了一個(gè) OuterClass 的實(shí)例和一個(gè) InnerClass 的實(shí)例,然后通過內(nèi)部類實(shí)例訪問了外部類的私有成員。

0