【发布时间】:2012-06-09 10:10:37
【问题描述】:
在方法中定义一个类有什么好处。我看到有人喜欢在方法中定义一些侦听器类,这样做有什么真正的好处吗?
【问题讨论】:
标签: java
在方法中定义一个类有什么好处。我看到有人喜欢在方法中定义一些侦听器类,这样做有什么真正的好处吗?
【问题讨论】:
标签: java
我认为您的意思是匿名内部类或本地内部类。见this article for the differences and the advantages 在我看来,最大的好处是代码在使用的地方,而不是在另一个文件中。
【讨论】:
这样做有两个原因:
【讨论】:
它被命名为 InnerClass,这允许您实例化一个实现接口或抽象类的对象,而无需将其正式定义为一个单独的类。侦听器就是很好的例子,因为要支持将每个侦听器都实现为单独的类的系统成本太高。
一个很好的参考:http://docs.oracle.com/javase/tutorial/java/javaOO/nested.html(内部类主题)
【讨论】: