class OuterClass {
...
class InnerClass {
int i;
public void foo() {
i = 2;
}
}
}
OuterClass のメソッドで使用できるように、その i 値を取得するにはどうすればよいですか?
class OuterClass {
...
class InnerClass {
int i;
public void foo() {
i = 2;
}
}
}
OuterClass のメソッドで使用できるように、その i 値を取得するにはどうすればよいですか?
variablei
は ではないためstatic
、それにアクセスするには内部クラスのインスタンスが必要です。new InnerClass().i;
外部クラスで取得して使用するには十分です。
OuterClass.InnerClass innerObject = outerObject.new InnerClass(); このオブジェクトを使用することで、メソッドを呼び出すことができます。ただし、メソッドは i 値を返す必要があります。public int foo() { i = 2; 私を返します。}
OuterClass outer = new OuterClass();
outer.InnerClass inner = new InnerClass();
inner.foo();
内部クラス変数 i は静的ではないため、外部クラスで作成される内部クラスのインスタンスもありません。外部クラスのインスタンスを作成し、それに関連付けられた内部クラスの新しいインスタンスを取得してから、そのインスタンスで i 値を変更するメソッドを呼び出してから i 値を読み取る必要があります。より良くするために、i に getter メソッドを追加することを考えることができます。