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();
}
需要注意的是,匿名内部类没有类名,只能创建一个对象来调用其方法。匿名内部类通常用于只需使用一次的场景,可以减少代码量。