【Javaプログラミング】インナークラスとは?-プロショvol.53

スポンサーリンク
インナークラス、アウタークラス Java攻略
スポンサーリンク

インナークラスとは?

 

インナークラスはクラスの中に作られたクラスのことを指す。

例えば以下のような形のもの。

class A{
    class B{
    }
}

この場合、クラスBがインナークラスに当たる。

 

インナークラスのメリット

 

インナークラスを使うことで同じような形のクラスをグループ化することができる。

そしてグループ化することによってコードがスッキリし、読みやすくなるといったことが挙げられる。

 

インナークラスへのアクセス方法

 

インナークラスへアクセスするには、まず外側のクラス(アウタークラス)のオブジェクトを作成する必要がある。

 

class A{
    class B{
    }
}

こちらを例にすると、まずAクラスのオブジェクトを作成

Bクラスのオブジェクトを作成

以上のような流れ。

 

アウタークラスの中にあるから、直接インナークラスにアクセスすることはできないのね。

インナークラスのオブジェクト作成方法

 

インナークラスのオブジェクトを作成する際は、「アウタークラスからアクセスしてますよ」ということを示す必要がある。

いつも作っている方法とはちょっと異なる部分がある。

 

インナークラスのオブジェクトを作る流れ

アウタークラスのクラス名 オブジェクト名 = new アウタークラスのクラス名();

アウタークラスのクラス名.インナークラスのクラス名 インナークラスのオブジェクト名 = アウタークラスのオブジェクト名.new インナークラスのクラス名();

 

まずアウタークラスのオブジェクトはいつも通りの作り方でOK

オブジェクト名は自分で好きな名前を付ける。

 

インナークラスのオブジェクトを作るには、まずインナークラスがアウタークラスに属しているということを示すために「アウタークラスのクラス名.インナークラスのクラス名」と書く。

インナークラスのオブジェクト名」はアウタークラスのオブジェクト名とは異なる名前ならなんでもOK。

お好きな名前を。

 

インナークラスのオブジェクトはアウタークラスのオブジェクトと繋がっている。

アウタークラスのオブジェクト⇒インナークラスのオブジェクトとアクセスすることでインナークラスのデータなどが使える。

そのため、インナークラスのオブジェクトを作る際、「アウタークラスのオブジェクト名.new」と書く必要がある。

インナークラスのオブジェクトを作成するときにアウタークラスのオブジェクト(オブジェクト名)が必要になるから、まずアウタークラスのオブジェクトを作る。

 

コード例

上の法則に従って作ってみたコードが以下のもの。

class Outer{
String A=”外側”;

class Inner{
String B =”内側”;
}
}
public class OuterInner {

public static void main(String[] args) {

Outer soto = new Outer();
Outer.Inner uchi = soto.new Inner();
System.out.println(uchi.B);

}

}

 

Outerというクラスの中にInnerというクラスを作ったもの。

Innerクラスの中に書いた「String B =”内側”;というデータを呼び出すには、まずOuterクラスのオブジェクトを作成する必要があるOuter soto = new Outer();)。

そしてInnerクラスのオブジェクトを作成(Outer.Inner uchi = soto.new Inner();)。

最後にInnerクラスのオブジェクト名と変数を使ってデータを呼び出す(System.out.println(uchi.B);)。

 

上のコードを実行すると「内側」と表示される。

 

このエントリーをはてなブックマークに追加

コメント

タイトルとURLをコピーしました