请看下面的例子。我有一个要使用的对象,称为Doodad
。 Doodad
元素对浏览器事件的处理不佳。 Doodad
的典型实例为Doodad someDoodad = new Doodad();
。显然,由于事件处理不佳,这不适合我的需求。我是否适合重写onBrowserEvent()
方法,如下所示:
Doodad someDoodad = new Doodad() {
@Override
public void onBrowserEvent(Event event) {
switch (DOM.eventGetType(event)) {
case Event.ONDBLCLICK:
case Event.ONFOCUS:
case Event.ONCLICK:
if (!isEnabled()) {
return;
}
break;
}
super.onBrowserEvent(event);
}
};
显然,这是一个简单的示例,但是什么时候我不想使用匿名内部类?是否曾经明确禁止或不可能?
我看到第一个问题有很多答案,但是到目前为止,没有一个答案可以回答第二个问题:是否曾经明确禁止或不可能使用匿名内部类?
最佳答案
通常,匿名内部类的最佳用法是只想创建此类的特定实现的一个实例。而且当实现非常简单时。理想情况下,它应该包含1-2行代码。
您的情况仍然可以,尽管您的方法onBrowserEvent()
超过2行。