Java の匿名内部クラスの書き方は?

Java の匿名内部クラスは次のように記述できます。

  1. インターフェイスを実装した匿名内部クラス
接口名 对象名 = new 接口名() {
// 实现接口的方法
};

例:

Runnable runnable = new Runnable() {
@Override
public void run() {
System.out.println("匿名内部类实现的run方法");
}
};
  1. 匿名内部クラスで抽象クラスを継承する
抽象类名 对象名 = new 抽象类名() {
// 实现抽象方法
};

例えば

AbstractClass abstractClass = new AbstractClass() {
@Override
public void method() {
System.out.println("匿名内部类实现的method方法");
}
};
  1. 内部クラスは、メソッドの中で直接、匿名で定義することもできる。
public void methodName() {
类名 对象名 = new 类名() {
// 实现方法
};
}

実際に今すぐ彼女の誕生日を祝うことはできない

public void showMessage() {
class Message {
public void print() {
System.out.println("匿名内部类定义在方法内部");
}
}
Message message = new Message() {
@Override
public void print() {
System.out.println("重写匿名内部类的print方法");
}
};
message.print();
}

匿名内部クラスにはクラス名がないので、オブジェクトの作成とメソッド呼び出しは1回限りであることに注意してください。匿名内部はたいてい一度だけ使用される場面で、コードの軽量化が求められるときに利用されます。

bannerAds