私はJavaプログラミングに非常に慣れていないので、疑問があります。
私はこのようなプログラムを持っています:
class A {
static final class B {
public int addMe() {
}
}
}
メソッドを呼び出すにはどうすればよいaddMe
ですか?
私がそうA.B.addme()
すると、エラーが発生します。
私はJavaプログラミングに非常に慣れていないので、疑問があります。
私はこのようなプログラムを持っています:
class A {
static final class B {
public int addMe() {
}
}
}
メソッドを呼び出すにはどうすればよいaddMe
ですか?
私がそうA.B.addme()
すると、エラーが発生します。
addme()
は内部クラスBのインスタンスメソッドです。したがって、これを呼び出すにはBインスタンスが必要です。
A.B b = new A.B();
b.addme();
メソッドは静的ではないため、クラス インスタンスaddMe()
なしで呼び出すことはできません。B
A.B b = new A.B();
b.addMe();
一般的なJava内部クラス(静的なし)は、宣言されているクラス内でのみ初期化できます。静的内部クラスは実際には通常のクラスであり、プログラム内の他のクラスからは見えますが、他のクラスのファイルで宣言されています。
静的クラスBをインスタンス化してメソッドを呼び出すか、メソッド自体を静的としてマークする必要があります。