2012-06-09 47 views
3

在方法中定義類是否有好處?我看到有人更喜歡在一個方法內部定義一些監聽器類,這樣做有什麼實際益處?在方法中定義一些類有什麼好處?

+0

[在Java中使用類中定義的方法](http://stackoverflow.com/questions/2428186/use-of-class-definitions-inside-a-method-in-java) –

回答

1

它被命名爲InnerClass,它允許您實例化一個實現接口或抽象類的對象,而無需將其正式定義爲分隔類。聽衆是很好的例子,因爲支持一個將每個單獨的監聽器作爲一個單獨的類來實現的系統是非常昂貴的。

一個很好的參考:http://docs.oracle.com/javase/tutorial/java/javaOO/nested.html(內部類的話題)

+0

我認爲他不是在討論嵌套的類,而是內在的類。您指出的文檔是在討論aboiut嵌套類。 – theomega

+0

其他鏈接(特定於內部類):http://docs.oracle.com/javase/tutorial/java/javaOO/innerclasses.html。 –

3

它做有兩個原因:

邏輯
  • 地點。分散邏輯和緊密相關的代碼部分使得難以遵循。
  • 當您在一個方法內定義一個類時,它將在closes in範圍內提供局部變量。這種方式避免了不必要的爭論。
相關問題