匿名内部类一般情况下是覆盖父类的方法、实现接口的方法、使用匿名内部类传入代码块进行初始化。
覆盖父类的方法:
new Thread() {
public void run() {
System.out.println("覆盖父类的方法");
}
};
使用匿名内部类进行初始化:
// { }匿名内部类 +{ } 代码块
List list =new ArrayList() {
{
add("Hello");
}
};
// { }匿名内部类 +{ } 代码块
HashMap map =new HashMap() {
{
put("a", "a");
}
};
实现接口的方法 :
new Thread(new Runnable() {
@Override
public void run() {
System.out.println("实现接口的方法");
}
});
使用匿名内部类实现接口的方法时,JVM 会自动为这个接口创建一个与该接口同名的实现类并返回该实现类的一个实例。