class OuterClass {
...
class InnerClass {
int i;
public void foo() {
i = 2;
}
}
}
如何获得 i 的价值,以便可以在 OuterClass 的方法中使用它?
class OuterClass {
...
class InnerClass {
int i;
public void foo() {
i = 2;
}
}
}
如何获得 i 的价值,以便可以在 OuterClass 的方法中使用它?
由于变量i
is not static
,您需要一个内部类的实例来访问它。new InnerClass().i;
足以在外部类中获取和使用它。
OuterClass.InnerClass innerObject = outerObject.new InnerClass(); 通过使用此对象,您可以调用方法。但是方法应该返回 i 值。公共 int foo() { i = 2; 返回我;}
OuterClass outer = new OuterClass();
outer.InnerClass inner = new InnerClass();
inner.foo();
由于内部类变量 i 不是静态的,也没有在外部类上创建内部类的任何实例。您需要创建外部类的实例,获取与之关联的内部类的新实例,然后在该实例上调用使 i 值更改的方法,然后读取 i 值。为了让它更好,你可以考虑在 i 上添加 getter 方法。