在方法中定義類是否有好處?我看到有人更喜歡在一個方法內部定義一些監聽器類,這樣做有什麼實際益處?在方法中定義一些類有什麼好處?
回答
我想你的意思是匿名內部類或本地內部類。請參閱this article for the differences and the advantages在我看來,最大的優點是代碼位於使用它的地方,而不是在另一個文件中。
它被命名爲InnerClass,它允許您實例化一個實現接口或抽象類的對象,而無需將其正式定義爲分隔類。聽衆是很好的例子,因爲支持一個將每個單獨的監聽器作爲一個單獨的類來實現的系統是非常昂貴的。
一個很好的參考:http://docs.oracle.com/javase/tutorial/java/javaOO/nested.html(內部類的話題)
我認爲他不是在討論嵌套的類,而是內在的類。您指出的文檔是在討論aboiut嵌套類。 – theomega
其他鏈接(特定於內部類):http://docs.oracle.com/javase/tutorial/java/javaOO/innerclasses.html。 –
它做有兩個原因:
邏輯- 地點。分散邏輯和緊密相關的代碼部分使得難以遵循。
- 當您在一個方法內定義一個類時,它將在closes in範圍內提供局部變量。這種方式避免了不必要的爭論。
- 1. 遠離結構定義定義Go方法有什麼好處?
- 2. 定義$ scope界面有什麼好處
- 3. - (id)init方法有什麼好處?
- 4. python類有什麼好處?
- 5. 定義這樣的類有什麼好處?
- 6. 爲什麼C++方法有時在類中定義?
- 7. 爲主方法編寫公共類有什麼好處嗎?
- 8. 在Python中使用main方法有什麼好處?
- 9. 什麼是在JavaScript中定義數據的好方法?
- 10. 在Java中調用一個類作爲ArrayList有什麼好處?
- 11. 什麼時候應該在一個類中使用靜態方法,並且有什麼好處?
- 12. 在下面的代碼片段中定義一個宏有什麼好處?
- 13. 爲什麼一些類有一個init()方法?
- 14. 在ruby中調用類方法的更好方法是什麼?
- 15. 什麼是在Python類中排序方法的好方法?
- 16. 什麼方法來定義ruby中的類級別方法
- 17. 在Python的另一個類中定義一個類是否有好處?
- 18. 使用MongoCredential類有什麼好處?
- 19. 使用Python類有什麼好處嗎?
- 20. DefaultSelenium對SeleneseTestCase類有什麼好處?
- 21. C# - 「部分」類有什麼好處?
- 22. 有什麼更好的方法來處理Swift中的JSON
- 23. 在JavaScript中,在IIFE中包裝僞類有什麼好處?
- 24. 在C#中訪問內部綁定類方法的更好方法是什麼?
- 25. CustomList類,在指定索引處刪除的好方法是什麼?
- 26. 這些在javascript中定義數組的方法有什麼區別?
- 27. 在InstallShield中,ICE有什麼好處?
- 28. 處理Amazon EC2排隊生成縮略圖的一些好方法是什麼?
- 29. 處理同一表單中多個對象類型的好方法是什麼?
- 30. 可綁定Linq有什麼好處?
[在Java中使用類中定義的方法](http://stackoverflow.com/questions/2428186/use-of-class-definitions-inside-a-method-in-java) –