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

OuterClass のメソッドで使用できるように、その i 値を取得するにはどうすればよいですか?

4

4 に答える 4

1

variableiは ではないためstatic、それにアクセスするには内部クラスのインスタンスが必要です。new InnerClass().i;外部クラスで取得して使用するには十分です。

于 2012-12-03T05:00:03.407 に答える
0

OuterClass.InnerClass innerObject = outerObject.new InnerClass(); このオブジェクトを使用することで、メソッドを呼び出すことができます。ただし、メソッドは i 値を返す必要があります。public 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 に答える