インナークラスについて|Java

Javaのインナークラスについて覚え書き。
「あれ?記述がエラーになる・・・」とか、おっちゃんよくあるので。

インナークラスの特徴

  • アウタークラスの変数にアクセスできる
  • クラスをstaticにするとアウタークラスのメンバ変数にアクセスできない(static変数にはアクセス可能)
  • クラスをstaticにしても、アウタークラスのインスタンスを引数で受け取れば、アウタークラスのprivateメンバにアクセスできる
アウタークラスのメンバ変数にアクセスしないなら、明示的にstaticを付ける。
まぁ、この場合はインナーではなく別クラスで良い気がしますが・・・

インナークラスの生成方法

アウタークラスからの生成

new {インナークラス}();

InnerClass innerCls = new InnerClass();

外部クラスからの生成

{アウタークラス インスタンス}.new {インナークラス}();

OuterClass.InnerClass innerCls = new OuterClass().new InnerClass();

または

OuterClass outerCls = new OuterClass();
InnerClass innerCls = outerCls.new InnerClass();
このエントリーをはてなブックマークに追加
にほんブログ村 IT技術ブログへ

コメント

メールアドレスが公開されることはありません。 が付いている欄は必須項目です