1

私はJavaプログラミングに非常に慣れていないので、疑問があります。

私はこのようなプログラムを持っています:

class A {

  static final class B {

       public int addMe() {
       }

  }

}

メソッドを呼び出すにはどうすればよいaddMeですか?

私がそうA.B.addme()すると、エラーが発生します。

4

3 に答える 3

8

addme()は内部クラスBのインスタンスメソッドです。したがって、これを呼び出すにはBインスタンスが必要です。

A.B b = new A.B();
b.addme();
于 2013-02-20T12:53:23.437 に答える
3

メソッドは静的ではないため、クラス インスタンスaddMe()なしで呼び出すことはできません。B

A.B b = new A.B();
b.addMe();
于 2013-02-20T12:53:16.247 に答える
1

一般的なJava内部クラス(静的なし)は、宣言されているクラス内でのみ初期化できます。静的内部クラスは実際には通常のクラスであり、プログラム内の他のクラスからは見えますが、他のクラスのファイルで宣言されています。

静的クラスBをインスタンス化してメソッドを呼び出すか、メソッド自体を静的としてマークする必要があります。

于 2013-02-20T12:54:12.277 に答える