匿名内部类

张开发
2026/4/4 11:14:04 15 分钟阅读
匿名内部类
匿名内部类概念匿名内部类是没有显式名称的类通常用于快速实现接口或继承抽象类。直接通过接口或父类创建对象省略了单独定义实现类的步骤。其特点是代码简洁适用于一次性使用的场景。基本语法结构匿名内部类的语法围绕接口或抽象类的实例化展开格式如下InterfaceName obj new InterfaceName() { // 实现接口的抽象方法 Override public ReturnType methodName(Parameters) { // 方法体 } };代码示例解析示例1作为方法返回值public Comparable method3() { return new Comparable() { Override public int compareTo(Object o) { return 200; // 固定返回200的简单实现 } }; }直接返回一个实现了Comparable接口的匿名类对象重写的compareTo方法忽略参数始终返回固定值示例2直接创建并使用对象public void test() { Comparable com new Comparable() { Override public int compareTo(Object o) { return 200; } }; System.out.println(com.compareTo(abc)); // 输出200 }创建匿名类实例并赋值给接口变量调用重写方法时参数abc被传入但未使用关键特点说明即时实现在new语句中直接完成接口方法的实现对象即用创建后立即可以作为接口类型使用单次使用适合不需要重复使用的场景简化代码避免为简单实现单独创建类文件典型使用场景事件监听器如按钮点击事件线程的Runnable实现需要临时接口实现的工具方法测试时的快速mock实现注意事项无法添加新的非重写方法只能实现一个接口或继承一个类访问外部变量时变量需声明为final或等效不可变复杂逻辑建议使用常规内部类通过这种形式既能保持面向接口编程的规范性又能减少代码量是Java简化代码的常用技巧。成员内部类详见笔者上一章节跳转网址快速理解 成员内部类-CSDN博客

更多文章