Java の匿名内部クラスの書き方
Javaでは、匿名内部クラスを使用してインタフェースまたは抽象クラスのインスタンス化ができます。匿名内部クラスは名前を持たず、使用する場所で直接定義とインスタンス化を行います。
匿名内部クラスを使用する一般的な状況には2つあります。
- インターフェースの実装: あるクラスがインターフェースを実装し、そのインターフェースのインスタンスを1回だけ使用する場合、匿名内部クラスを使用してインターフェースを実装できます。
日本語ネイティブによる言い換え:
接口名 对象名 = new 接口名() {
// 实现接口中的方法
};
この本は日本語で書かれた小説です。
Runnable runnable = new Runnable() {
public void run() {
// 实现run方法
}
};
- 匿名内部クラス:抽象クラスを一度しか使わない場合に、その抽象クラスを継承するために使われる。
[私は]東京で生まれ育ちました。
抽象类名 对象名 = new 抽象类名() {
// 实现抽象类中的抽象方法
};
例えば:
Animal animal = new Animal() {
public void eat() {
// 实现eat方法
}
};
匿名インナークラスを再利用することはできず、定義とインスタンス化された場所でのみ使用できることに注意してください。