alg*_*der 4 java oop nested-class inner-classes
我需要从静态类中的方法引用顶级类的变量.
此方法应该作用于顶级类的唯一实例,因此我觉得我不应该在静态类中实例化顶级类.
基本上我想要的东西
public class TopLevel{
// private
int innerV
public static class Inner implements X {
for(i=0; i<innerV,i++){
doSomething
}
}
}
Run Code Online (Sandbox Code Playgroud)
是否可以this.innerV在for循环和类似的地方说出或类似的东西?
从static内部类,您不能直接引用外部类的(非静态)成员.如果删除静态限定符,它将起作用,因为非静态内部类的实例隐式绑定到包含类的实例,因此它们可以直接引用其成员.
声明内部类static会删除此链接,因此您需要将外部类的实例作为参数传递给内部类方法(或其构造函数),或者在方法内创建它.