内部クラスとは

内部クラスとはある特定のクラスのためにだけ用意されたクラスで、その特定のクラスの中に定義した別のクラスのことです。
つまり内部クラスを使用することによりシンプルなコードを作成できますが、
特定のクラスの中だけしか使用しないクラスを用意したい場合によく使われます。
また、内部クラスを持つクラスのことを外部クラスといいます。

内部クラスの種類

タイプ
説明
メンバークラス 外部クラスのメンバーとして定義されるクラス
ローカルクラス 外部クラスのメソッド内で宣言されるクラス
匿名クラス 外部クラスのメソッド内で宣言されるがクラス名を持たない

内部クラスの記述方法

内部クラスにおける条件

メンバークラス、ローカルクラス、匿名クラスにおいて以下のような制約があります。

  • staticメンバーを持つことができない。
  • 外部クラスと同名のクラスは定義できない。

コンパイル方法

定義された内部クラスは外部クラスのコンパイルと連動しているといえます。
つまり外部クラスをコンパイルすれば自動的に内部クラスもコンパイルされます。
また、クラスファイルは以下のようになります。

外部クラス・・・・・・・・・ 外部クラス名.class
内部クラス・・・・・・・・・ 外部クラス名$内部クラス名.class

ページのトップへ戻る