阅读量:0
Java匿名内部类的写法如下:
- 实现接口的匿名内部类:
接口名 对象名 = new 接口名() { // 实现接口的方法 };
示例:
Runnable runnable = new Runnable() { @Override public void run() { System.out.println("匿名内部类实现的run方法"); } };
- 继承抽象类的匿名内部类:
抽象类名 对象名 = new 抽象类名() { // 实现抽象方法 };
示例:
AbstractClass abstractClass = new AbstractClass() { @Override public void method() { System.out.println("匿名内部类实现的method方法"); } };
- 匿名内部类也可以直接定义在方法内部:
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(); }
需要注意的是,匿名内部类没有类名,只能创建一个对象来调用其方法。匿名内部类通常用于只需使用一次的场景,可以减少代码量。