:内部クラスは静的フィールドと非静的な静的な表現を許可します - なぜですか? JLS 1として
内部クラスは、明示的または暗黙的に ではありませんstaticとして宣言ネストされたクラスです。内部クラスは、静的初期化子 またはメンバインタフェースを宣言することはできません。
私の次のコードは正常にコンパイルされています。 Cは暗黙的に静的である理由
class A {
interface B {
class C { // Inner class having static variables.
static int d; // Static variable
static {
}
}
}
}
いくつかのいずれかが、私はこの振る舞いに
'C'は暗黙のうちに' static'ですが、内部クラスではありません。 –
ネストしたクラス**は**暗黙のうちに静的と宣言されています。インターフェイスは内部クラスを持つことができないためです。暗黙的に静的なインターフェースBと同じです。 –