public static class ViewHolder {
public int a,b;
public void method();
}
メソッドと変数 a および b は、クラスを静的として宣言するときにデフォルトで静的ですか、またはそれらを個別に静的に宣言する必要がありますか? 私はそれが初心者の質問であることを知っていますが、今は少し混乱しています:(
public static class ViewHolder {
public int a,b;
public void method();
}
メソッドと変数 a および b は、クラスを静的として宣言するときにデフォルトで静的ですか、またはそれらを個別に静的に宣言する必要がありますか? 私はそれが初心者の質問であることを知っていますが、今は少し混乱しています:(
いいえ、デフォルトでは静的ではなく、通常のインスタンス メンバーです。
ただし、静的内部クラスは、通常の内部クラスとは異なり、明示的に宣言すると、静的メンバーを持つことができます。
いいえ、内部静的クラスを宣言するときは、宣言自体が staticであることを指定するため、それにアクセスするために親クラスのオブジェクト インスタンスは必要ありません。
内部メンバーに関するものは何も含まれていません。
Static ネストされたクラスのメンバーは静的ではありません。static
キーワードはクラスで指定されます。これは、ネストされたクラスが、静的データ メンバーと同様に、それを含む外部クラスでインスタンス化できることを示します。
BaseClass.StaticNestedClass nestedClass = new BaseClass.StaticNestedClass();
nestedClass.nonStaticMethod();//correct
BaseClass.StaticNestedClass.nonStaticMethod()//Error
これは、通常のクラスとして動作する静的ネスト クラスのデータ メンバーには影響しません。
static
キーワードが に関連付けられているclass
場合、クラスはネストされたクラスでなければならないことに注意してください
public static クラスは、他のクラスと同じように機能します。唯一の実際の違いは、含まれているクラスを介してアクセスされることです。
OuterClass.InnerClass foo = new OuterClass.InnerClass();