匿名内部类 核心速查
1. 核心作用
解决「某个实现类只需要用一次,单独新建Java文件完全浪费」的场景,不用额外创建类文件,直接就地完成类定义、方法重写、对象创建,大幅减少冗余代码。
2. 本质
一个 没有类名的Java类,同时完成了「继承/实现父类/接口 + 重写抽象方法 + 直接创建对象」三步操作,最终得到的就是这个匿名类的实例对象。
3. 标准语法
new 父类名/接口名() {
// 重写所有抽象方法
@Override
public void 方法名(参数) {
// 业务逻辑
}
};
4. 实际使用示例
以Swim接口为例,直接作为方法参数传入,完全不用单独写Student实现类:
// 多态写法,一步完成定义+创建对象
Swim s = new Swim() {
@Override
public void swim() {
System.out.println("学生正在游泳");
}
};
// 直接调用方法
goSwimming(s);