gpt4 book ai didi

java - 匿名内部类和本地类的区别

转载 作者:搜寻专家 更新时间:2023-11-01 03:26:25 25 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
Anonymous vs named inner classes? - best practices?

一般来说,在使用 Java Handlers 时,人们通常使用三种方法:

  1. 创建一个将实现所有需要的接口(interface)的类
  2. 创建一个匿名内部类
  3. 创建一个本地类

我只对 2) 和 3) 之间的区别

感兴趣

比较 2) 和 3) 我们可以考虑下面的代码。在此示例中,编译器将生成只有一个类

class MyHandler implements ClickHandler, DragHandler, MovedHandler
{
public void onClick(ClickEvent clickEvent)
{
// Do stuff
}

public void onMoved(MovedEvent movedEvent) {
// Do stuff
}

public void onDrag(DragEvent event) {
// Do stuff
}
}

MyHandler localHandler = new MyHandler();
button.addClickHandler(localHandler);
something.addDragHandler(localHandler);
that.addMovedHandler(localHandler);

在下面的示例中,编译器将生成三个内部类(如果我错了请纠正我)。

button.addClickHandler(new ClickHandler()
{
public void onClick(ClickEvent clickEvent)
{
// Do stuff
}
});
something.addDragHandler(new DragHandler()
{
public void onDrag(DragEvent event)
{
// Do stuff
}
});
that.addMovedHandler(new MovedHandler()
{
public void onMoved(MovedEvent movedEvent)
{
// Do stuff
}
});

我的问题是:这两种方法之间还有其他区别吗?使用其中一个而不使用另一个有什么注意事项吗?

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com