如果外部类方法变量被阴影在那里,如何访问本地内部类中的外部类方法变量?



如何在内部类中访问外部类的变量int a=89;?检查我的代码。帮我解决这个问题。

public class TestOuter {
private String name = "Makky";
int a = 1;
public void dis() {
System.out.println("dis");
int a = 89;
class TestInner {
int a = 6;
void dis() {
int a = 12;
System.out.println("local inner class=" + a);
System.out.println("local inner class=" + this.a);
}
}
TestLocalInner ob = new TestLocalInner();
ob.dis();
}
private class TestInner {
int a = 2;
public void access() {
int a = 3;
System.out.println("a=" + a);
System.out.println("name=" + name);
System.out.println("a=" + this.a);
dis();
}
}
public static void main(String[] args) {
TestOuter.TestInner inner = new TestOuter().new TestInner();
inner.access();
TestOuter outer = new TestOuter();
System.out.println(outer.a);
}
}

在这里,我想在我的内部类中访问dis()方法的变量 inta = 89,而在该 dis 方法中没有a=89的打印值,例如System.out.println(a);

TestInner成员:this.a
TestInner.dis局部变量:a
TestOuter成员:TestOuter.a

最新更新