如果每次我们都必须在调用接口的构造函数时定义一个类,那么使用匿名类有什么帮助。简单地使用泛型类型不是更好吗?
问问题
351 次
4 回答
2
GUI 应用程序中经常使用匿名类。当您只需要同时声明和创建一个类的对象时,它可以使代码更加精确。
这是一个例子:
btn.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
System.out.println("Hello World!");
}
});
于 2013-04-11T00:30:58.903 回答
1
匿名类不是在每次实例化时都定义的。它们像其他类一样被编译成字节码,名称为MyEnclosingClass$1
. 有关更多信息,请参阅这篇文章:Java 中如何编译匿名类?
相切地,反射可用于在运行时使用Class.isAnonymousClass()
.
于 2013-04-11T00:25:14.250 回答
0
这取决于实际情况; 在某些情况下,使用匿名类会更好,而在其他情况下,使用实现所需接口的具体类会更好。
如果您认为需要重复提供相同的匿名类定义,那么传递实现所需接口的具体类的实例可能会节省您的时间。
Java 语言提供匿名类语法是为了方便。
于 2013-04-11T00:31:08.463 回答
0
为了让您体验一下,这里有一个我自己的经验的简单示例:拥有由函数支持的列表。
一般来说,匿名类(除其他外)有以下用途:
于 2013-04-11T15:32:50.500 回答