编程语言
首页 > 编程语言> > java – 访问内部类中的外部类变量

java – 访问内部类中的外部类变量

作者:互联网

在内部类中,可以访问外部类的变量,但不能访问方法的局部变量.我理解一个关于方法的局部变量不可访问的部分,但我想知道为什么外部类变量是可访问的?

我的理解是,当内部类与外部类绑定时,只要父类可用,子进程就可以访问其父变量.我对么?

解决方法:

假设你的外部类被称为Outer,从内部类的范围(非静态),Outer.this.foo来到该字段.

例如,

Outer.this.foo=new ArrayList<>();

其中Outer是类的名称,foo标识字段.

您也可以直接抓取它作为foo = new Baz()但如果由于阴影导致命名冲突,它将选择内部字段.

如果它是一个静态内部类,则需要一个显式实例:

outerInstance.foo=new ArrayList<>();

或者如果要访问的字段是静态的,请像往常一样访问它:

Outer.staticFoo=new ArrayList<>();

标签:java,inner-classes
来源: https://codeday.me/bug/20190925/1817685.html