编程语言
首页 > 编程语言> > java – 匿名内部类:它们何时适合?

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