一、匿名内部类是什么匿名内部类是 Java 中一种没有名字的局部内部类它的核心特点是定义并实例化同时完成只能使用一次必须继承一个父类或实现一个接口语法格式new 父类/接口() { 重写/实现方法 }它的出现就是为了简化那些只需要临时使用一次的类的定义避免创建过多的冗余类文件。二、匿名内部类的常见使用场景1. 临时实现接口最经典场景当你只需要给某个接口创建一个一次性的实现时就不用专门写一个实现类直接用匿名内部类即可。比如老师布置的 “计算方法执行时间” 的需求就可以用它来实现一个可执行任务的接口2. 简化事件监听器代码在 Swing 或 Android 开发中事件监听器如按钮点击事件几乎都是一次性使用的匿名内部类是最常见的写法3. 继承父类并重写方法如果需要临时修改某个类的方法行为也可以用匿名内部类直接继承并重写三、结合作业需求计算方法执行时间我们可以基于匿名内部类封装一个通用的方法执行时间工具类方便后续直接复用四、匿名内部类的优缺点优点代码简洁避免创建大量一次性使用的实现类减少文件数量直接访问外部变量可以访问外部类的成员变量以及方法中final或 “有效 final” 的局部变量一次性场景适配完美适配只需要使用一次的接口 / 类实现场景缺点无法复用匿名内部类没有名字不能被其他地方引用可读性下降当内部逻辑复杂时代码会显得臃肿难以维护限制较多只能继承一个类或实现一个接口不能有静态成员五、学习总结这次作业让我明白了匿名内部类的核心价值 ——用最少的代码完成一次性的接口 / 类实现。在方法执行时间计算这个场景中它完美地解决了 “如何将任意方法作为参数传入通用工具类” 的问题。同时也意识到Java 8 的 Lambda 表达式本质上就是对单抽象方法接口的匿名内部类的语法糖两者的底层原理是一致的。后续我打算把这个时间计算工具类优化一下支持返回方法执行结果让它能适配更多场景。