所谓的"匿名班",我想你是指anonymous inner class个.
当使用某些"附加"(如覆盖方法)创建对象的实例时,匿名内部类可能会很有用,而不必实际派生类的子类.
我倾向于将其用作附加事件侦听器的快捷方式:
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// do something
}
});
使用这个方法可以加快编码速度,因为我不需要额外创建一个实现ActionListener
的类——我只需要实例化一个匿名内部类,而不需要创建单独的类.
我只在"快速而肮脏"的任务中使用这种技巧,在这些任务中,让整个班级感到不必要.如果有多个匿名内部类执行完全相同的操作,则应该将其重构为实际的类,无论是内部类还是单独的类.