1

内部にも静的クラスを持つ外部クラスを静的として定義するのは正しいですか? 外部クラスと内部クラスのインスタンスが 1 つだけ必要です。外部クラスを抽象化して、それを囲むクラスを静的にすることはできますか?

4

1 に答える 1

4

いいえ、最上位クラスを静的にすることはできません。クラス宣言における「静的」の意味は、ネストされたクラスにのみ関係します。ただし、抽象クラス内にネストされた静的クラスを持つことは確かに可能です。

JLS セクション 8.1.1から:

修飾子 static はメンバー クラス (§8.5.1) にのみ関係し、トップ レベル、ローカル、または匿名クラスには関係しません。

クラスの「1つのインスタンスのみ」が必要な場合は、クラス宣言自体に影響を与えるものではなく、完全に分離されたシングルトンにする必要があることに注意してください。

于 2012-04-13T15:53:38.303 に答える