0
class OuterClass {
    ...
    class InnerClass {
       int i;
       public void foo() {
          i = 2; 
       }
    }
}

如何获得 i 的价值,以便可以在 OuterClass 的方法中使用它?

4

4 回答 4

1

由于变量iis not static,您需要一个内部类的实例来访问它。new InnerClass().i;足以在外部类中获取和使用它。

于 2012-12-03T05:00:03.407 回答
0

OuterClass.InnerClass innerObject = outerObject.new InnerClass(); 通过使用此对象,您可以调用方法。但是方法应该返回 i 值。公共 int foo() { i = 2; 返回我;}

于 2012-12-03T05:02:08.710 回答
0
OuterClass outer = new OuterClass();
outer.InnerClass inner = new InnerClass();
inner.foo();
于 2012-12-03T05:06:32.960 回答
0

由于内部类变量 i 不是静态的,也没有在外部类上创建内部类的任何实例。您需要创建外部类的实例,获取与之关联的内部类的新实例,然后在该实例上调用使 i 值更改的方法,然后读取 i 值。为了让它更好,你可以考虑在 i 上添加 getter 方法。

于 2012-12-03T05:41:57.783 回答