java – 匿名内部类:它们何时适合?
作者:互联网
以下面的例子为例.有一个我想要使用的对象,称之为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行.
标签:java,override,anonymous-class,anonymous-inner-class 来源: https://codeday.me/bug/20190716/1481752.html