回答編集履歴
1
補足追加
test
CHANGED
@@ -1,3 +1,5 @@
|
|
1
1
|
内部クラス(Inner class)は外側のクラス(Enclosing class)のインスタンス・メンバー同様に**「インスタンス」にのみ関連付けられる**ため、インスタンスを生成することなく使用できるstaticメンバーを宣言することはできません。
|
2
2
|
|
3
3
|
ちなみに仕様上は「static内部クラス」というものは存在しません。あるクラスの中に宣言されたクラスは「入れ子クラス(Nested class)」と呼ばれますが、非staticなものだけが「内部クラス(Inner class)」であり、static宣言された入れ子クラスは内部クラスではなく「Static nested class」と呼ばれます。この辺りの話は、[Java TutorialのNested classes](http://docs.oracle.com/javase/tutorial/java/javaOO/nested.html)にも詳しく書かれているので読んでみてください。
|
4
|
+
|
5
|
+
したがって、内部クラスではstaticフィールドは宣言できませんが、staticキーワードを付けた入れ子クラスにすることでstaticフィールドを宣言することができます。
|