匿名内部类是在创建实例时定义的内部类,无需显式名称。语法:new () { // 匿名内部类体}。优点:简洁、代码重用、局部作用域。缺点:可读性差、调试难度大。实战案例包括覆盖匿名类和实现匿名接口。

Java 匿名内部类创建指南
什么是匿名内部类?
匿名内部类是一种在创建实例的同时定义的内部类。它们没有显式名称,并且通常用于在短的时间内覆盖或实现类或接口。
立即学习“Java免费学习笔记(深入)”;
创建匿名内部类
要在 Java 中创建匿名内部类,请使用以下语法:
new <基类或接口名>() {
// 匿名内部类体
};基类或接口名是匿名内部类将从中继承或实现的类或接口。类体包含匿名内部类的方法和字段的定义。
实战案例
1. 覆盖匿名类
使用匿名内部类覆盖 Runnable 类的 run() 方法:
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
System.out.println("匿名内部类线程运行");
}
});
thread.start();2. 实现匿名接口
使用匿名内部类实现 Comparator 接口:
Liststrings = new ArrayList<>(); Comparator comparator = new Comparator<>() { @Override public int compare(String s1, String s2) { return s1.length() - s2.length(); } }; strings.sort(comparator);
优点
- 简洁性:匿名内部类可以直接创建,无需定义单独的类文件。
- 代码重用:它们可用于创建仅使用一次的临时实现。
- 局部作用域:匿名内部类只能在创建它们的类或方法的作用域内访问。
缺点
- 可读性:匿名内部类可能会使代码难以阅读和理解。
- 调试难度:由于匿名内部类没有名称,因此在调试时可能更难跟踪。











