阅读量:0
Java内部类可以访问外部类的成员变量,包括实例变量和静态变量。访问外部类实例变量时,内部类实例必须先创建,而访问外部类静态变量时,内部类可以直接访问。
示例代码如下:
public class OuterClass { private int outerVar = 10; private static int outerStaticVar = 20; class InnerClass { public void accessOuterVar() { System.out.println("Accessing outerVar from InnerClass: " + outerVar); } public void accessOuterStaticVar() { System.out.println("Accessing outerStaticVar from InnerClass: " + outerStaticVar); } } public static void main(String[] args) { OuterClass outer = new OuterClass(); OuterClass.InnerClass inner = outer.new InnerClass(); inner.accessOuterVar(); // Output: Accessing outerVar from InnerClass: 10 inner.accessOuterStaticVar(); // Output: Accessing outerStaticVar from InnerClass: 20 } }
在上面的示例中,内部类InnerClass
可以访问外部类OuterClass
的实例变量outerVar
和静态变量outerStaticVar
。需要注意的是,内部类实例访问外部类实例变量时,必须先创建外部类实例,然后通过该实例创建内部类实例。