1
public static class ViewHolder {

        public int a,b;
            public void method();


    }

メソッドと変数 a および b は、クラスを静的として宣言するときにデフォルトで静的ですか、またはそれらを個別に静的に宣言する必要がありますか? 私はそれが初心者の質問であることを知っていますが、今は少し混乱しています:(

4

4 に答える 4

6

いいえ、デフォルトでは静的ではなく、通常のインスタンス メンバーです。

ただし、静的内部クラスは、通常の内部クラスとは異なり、明示的に宣言すると、静的メンバーを持つことができます。

于 2012-04-20T19:30:48.847 に答える
2

いいえ、内部静的クラスを宣言するときは、宣言自体が staticであることを指定するため、それにアクセスするために親クラスのオブジェクト インスタンスは必要ありません。

内部メンバーに関するものは何も含まれていません。

于 2012-04-20T19:31:26.807 に答える
1

Static ネストされたクラスのメンバーは静的ではありません。staticキーワードはクラスで指定されます。これは、ネストされたクラスが、静的データ メンバーと同様に、それを含む外部クラスでインスタンス化できることを示します。

BaseClass.StaticNestedClass nestedClass = new BaseClass.StaticNestedClass();
nestedClass.nonStaticMethod();//correct
BaseClass.StaticNestedClass.nonStaticMethod()//Error

これは、通常のクラスとして動作する静的ネスト クラスのデータ メンバーには影響しません。

staticキーワードが に関連付けられているclass場合、クラスはネストされたクラスでなければならないことに注意してください

于 2012-04-20T19:39:50.700 に答える
0

public static クラスは、他のクラスと同じように機能します。唯一の実際の違いは、含まれているクラスを介してアクセスされることです。

OuterClass.InnerClass foo = new OuterClass.InnerClass();
于 2012-04-20T19:32:37.420 に答える