JAVA インナークラス・匿名クラス

More than 3 years have passed since last update.

匿名クラスとは

あるメソッドの中で一回しか使わない、つまり

「その場で使い捨てる」クラスを作りたい場合のためにある。



  • 匿名クラスの特異性_________________________________


  • 普通のクラスやメンバクラスは、classキーワードでまず「宣言」し、
    その後newで「利用」しますが、
    匿名クラスは「宣言と利用」を同時に行います。

    _________________________________________________________


■匿名クラスの宣言兼利用

new 匿名クラスの親クラス指定(){

匿名クラスの内容(メンバ)定義

}

無名クラスは「new インターフェイス名() { …実装… }」の形式で表します。

▪️Test105.java


public class Test105 {
public static void main(String[] args) {
Printable p = new Printable() {
public void print() {
System.out.println("TEST");
System.out.println("TEST2");
}
};
p.print();

Printable2 p2 = new Printable2() {
public void print2() {
System.out.println("TEST3");
}
};
p2.print2();
}
}

▪️Printable.java

public interface Printable {

void print();
}

▪️Printable2.java

public interface Printable2 {

void print2();
}

▪️Test105.java 実行結果

TEST

TEST2

TEST3