在方法中定义类是否有任何好处。我看到有人喜欢在方法中定义一些监听器类,这样做有什么好处呢?
答案 0 :(得分:5)
我认为你的意思是匿名内部类或本地内部类。请参阅this article for the differences and the advantages在我看来,最大的优势是代码位于使用它的位置,而不是在另一个文件中。
答案 1 :(得分:3)
这样做有两个原因:
答案 2 :(得分:1)
它被命名为InnerClass,这允许您实例化实现接口或抽象类的对象,而无需将其正式定义为分离的类。听众是很好的例子,因为支持将每个监听器实现为分离类的系统成本太高。
一个很好的参考:http://docs.oracle.com/javase/tutorial/java/javaOO/nested.html(内部课程主题)