📑
【Java】匿名(無名)クラス
匿名(無名)クラスとは
- 名前をつけずにその場で定義して使うクラス
- 1度しか使わないクラスに適している
- 主に「クラスの継承」や「インターフェースの実装」をするために使われる
なぜ匿名クラスを使うの?
- 1度しか使わないクラスのために、わざわざファイルを作らなくてもよい
- インスタンスを作ると同時に、その場でクラスの中身を定義することが出来る
実際のコード例
クラスやインターフェースなどファイルを分けて作成する場合
- ファイルを分けて作成する場合、3つのファイルが必要
- 記述する文字数も多い
package nonameTest;
public interface Greeting {
void sayHello();
}
package nonameTest;
public class EnglishGreeting implements Greeting {
@Override
public void sayHello() {
System.out.println("Hello!");
}
}
package nonameTest;
public class Main {
public static void main(String[] args) {
Greeting greeting = new EnglishGreeting();
greeting.sayHello(); // 出力: Hello!
}
}
匿名クラスを使用する場合
- クラスを別途作成せずにその場で定義することが出来る
- 記述する文字数が少ない
- newを使用してその場で定義・インスタンス化を行う
new クラス名またはインターフェース名() {
// メソッドのオーバーライドや独自のメソッドを定義
};
package nonameTest;
public class Main2 {
public static void main(String[] args) {
Greeting greeting = new Greeting() {
@Override
public void sayHello() {
System.out.println("Hello!");
}
};
greeting.sayHello(); // 出力: Hello!
}
}
Udemyで講座を公開中!
X(旧Twitter)
Zenn 本
Youtube
Discussion