在方法中定义一些类有什么好处?

时间:2012-06-09 10:10:37

标签: java

在方法中定义类是否有任何好处。我看到有人喜欢在方法中定义一些监听器类,这样做有什么好处呢?

3 个答案:

答案 0 :(得分:5)

我认为你的意思是匿名内部类本地内部类。请参阅this article for the differences and the advantages在我看来,最大的优势是代码位于使用它的位置,而不是在另一个文件中。

答案 1 :(得分:3)

这样做有两个原因:

  • 逻辑的位置。散布逻辑和紧密相关的代码部分使得更难以遵循。
  • 在方法内定义类时,它closes in超出范围内可用的局部变量。这样就避免了不必要的辩论传递。

答案 2 :(得分:1)

它被命名为InnerClass,这允许您实例化实现接口或抽象类的对象,而无需将其正式定义为分离的类。听众是很好的例子,因为支持将每个监听器实现为分离类的系统成本太高。

一个很好的参考:http://docs.oracle.com/javase/tutorial/java/javaOO/nested.html(内部课程主题)