我知道匿名類是什麼時候你有任何類或接口,只有你的代碼需要實現或重寫某些類或接口匿名,它增加了程序的可讀性。但我有點困惑,假設將來你需要爲不同的類實現相同的接口,那麼在這種情況下,你必須重構你以前的類,那麼是否還有其他的匿名類advanrage?(它是否提高了性能?)java中的匿名類的用例和優點是什麼?
-4
A
回答
2
這是什麼意思?
一個匿名類正是它的名字所實現的 - 它沒有名字。它將declaration
課程與創建該課程的instance
一體化。 由於匿名類沒有名稱,因此無法從定義匿名類的類外部實例化對象。事實上,匿名對象只能在定義它的相同範圍內實例化。
爲什麼要使用匿名類?
匿名類可以節省時間並減少數量。 java
定義應用程序所需的文件。您可能有一門課程僅在特定情況下使用,例如Comparator
。這允許「即時」創建對象。
你可能會發現你更喜歡使用匿名類;很多人在上廣泛使用listeners
。
的語法的匿名類定義
該實施例展示一個匿名類定義爲傳遞給在類別類的sort()方法的比較器。假定aList是要排序的有效數據列表。
Collections.sort (aList,
new Comparator() { // implements the IF
public int compare (ObjectType o1, ObjectType o2) throws ..{
//.... implementation for compare()
} // end of compare()
} // end of Comparator implementation
); // closed paren for sort() and end of statement semicolon
規則:
匿名類必須擴展超類或實現一個接口,但它不能有一個明確的擴展或實現子句。
匿名類必須實現超類或接口中的所有抽象方法。
一個匿名類總是使用超類的默認構造函數來創建一個實例。
+0
至少有一部分是從其他來源逐字複製的。見例如http://androidhello.com/androidEbooks/Android-Java.php?Ebooks-Android=2649 - 請在信貸到期時給予貸款。 –
相關問題
- 1. 匿名內部類(優於非匿名內部類)的優點是什麼?
- 2. 在JavaScript中匿名方法的優點和缺點是什麼?
- 3. C中匿名結構/聯合的優點是什麼?
- 4. 什麼是C#中的匿名類型?
- 5. 什麼是用例匿名聯合型
- 6. 什麼是匿名類型如何有用的一些例子?
- 7. java:匿名對象的優點
- 8. 匿名子類在java中的含義是什麼?
- 9. 什麼使得OWL類是匿名的?
- 10. 匿名變量(?)的優點?
- 11. Java匿名類 - 最小的例子
- 12. 在JAVA中標識匿名類實例
- 13. 什麼意思是類名是Java中的複數,例如「Collections」?
- 14. Java的匿名類
- 15. Java匿名類的用法
- 16. 什麼是C#中的匿名方法?
- 17. 什麼是Linux中的匿名inode?
- 18. Java中匿名類和預定義類之間有什麼相關的區別?
- 19. 使用DispatchingAndroidInjector <>和其他dagger.android類的優點是什麼?
- 20. 匿名函數錯誤和什麼是匿名函數?
- 21. 什麼是Monitor.Pulse和Monitor.Wait的優點?
- 22. 爲什麼C#中匿名類型的屬性是隻讀的?
- 23. 在Scala中擴展匿名類型的目的是什麼?
- 24. 使用特徵優於抽象類的優點是什麼?
- 25. generator.throw()的優點是什麼?
- 26. NSBinaryStoreType的優點是什麼?
- 27. mysqli_stmt_bind_result的優點是什麼?
- 28. RTSP的優點是什麼?
- 29. PyTables的優點是什麼?
- 30. AspectJ的優點是什麼?
請參考http://stackoverflow.com/questions/355167/how-are-anonymous-inner-classes-used-in-java – Unknown
如何使用和優點都是不同的事情,我alsilo問如何提高性能。 –
@Faizan http://stackoverflow.com/questions/3028341/java-anonymous-class-efficiency-implications –