使用某些“额外”(例如覆盖方法)创建对象的实例时,匿名内部类会变得很有用,而不必实际继承一个类。
我倾向于将它用作附加事件侦听器的快捷方式:
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// do something
}
});
使用此方法可以使编码更快一些,因为我不需要创建额外的类来实现ActionListener-
我可以实例化一个匿名内部类而无需实际创建单独的类。
我仅将这种技术用于“快速而肮脏的”任务,在这些任务中使整个课程变得不必要。具有多个功能完全相同的匿名内部类应重构为实际类,无论是内部类还是单独的类。