是的,Java内部类可以访问外部类的成员(包括私有成员)。内部类是定义在外部类内部的类,因此它可以访问外部类的所有成员。如果内部类是静态的(使用static关键字修饰),则它只能访问外部类的静态成员。
以下是一个简单的示例,说明内部类如何访问外部类的成员:
public class OuterClass { private int data = https://www.yisu.com/ask/10;"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 } }
在这个例子中,InnerClass
是 OuterClass
的内部类。它可以访问外部类的私有成员 data
。在 main
方法中,我们创建了一个 OuterClass
的实例和一个 InnerClass
的实例,然后通过内部类实例访问了外部类的私有成员。