嵌套类 - 如何从内部类获取变量?

时间:2012-12-03 04:58:44

标签: java

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

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

4 个答案:

答案 0 :(得分:1)

由于变量i不是static,因此您需要内部类的实例来访问它。 new InnerClass().i;足以在外层获取和使用它。

答案 1 :(得分:0)

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

答案 2 :(得分:0)

OuterClass outer = new OuterClass();
outer.InnerClass inner = new InnerClass();
inner.foo();

答案 3 :(得分:0)

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