.class
是什麼意思,例如,MyClass.class
?我知道,當你把一個類的名稱和它用來訪問它的靜態字段或方法的地方,但它不涉及'.class'.class之後的含義是什麼
回答
SomeClass.class
獲取Class<SomeClass>
類型,您可以使用它編程使用reflection API。
如果您有一個使用instance.getClass()
的類的實例,則可以獲得相同的類型。您可以查看documentation here。例如,您可以:
- 得到字段和方法,註釋等
- 調用方法的名稱,得到構造函數來創建類
- 的新實例獲取類的名稱,超類,包裝等
當一個類的名字後寫.class
,它引用了Class
對象,表示給定類(正式名稱,它是一個名爲類文字)。 NombreClase.class
的類型是Class<NombreClase>
。
例如,NombreClase.class
是表示運行時類別NombreClase
的對象。這是NombreClase
的任何(直接)實例的getClass()
方法返回的相同對象。
NombreClase obj = new NombreClase();
System.out.println(NombreClase.class.getName());
System.out.println(obj.getClass().getName())
您可以添加.class
任何類的名稱檢索其類對象的實例。
當您使用Integer.class
時,您引用了一個Class<Integer>
的實例,該實例是一個類型化的類對象。
我一直認爲這是一個由編譯器添加的字段成員,但看起來它實際上只是語法糖。
在您訪問靜態字段之前,您需要該類,因此如果該類是字段,它將是循環的。實際上,'A.class'只是編譯成'Class.forName(「A」)',所以沒有什麼不可思議的。 – irreputable 2013-02-27 00:15:49
很酷......謝謝! – jahroy 2013-02-27 00:22:03
- 1. 「class is not assignable」的含義是什麼?
- 2. 「class declaration head」的語法含義是什麼?{val_name:Type =>`class body`}「
- 3. c中的整數之後的點(。)的含義是什麼?
- 4. 「使用模塊」之後代碼塊的含義是什麼?
- 5. 錯誤之後數字的含義是什麼?
- 6. 「vtable for * Class *」錯誤的含義是什麼?
- 7. 「class」在構造函數中的含義是什麼?
- 8. Caffe - Blob Class - 成員變量的含義是什麼?
- 9. public class,protected,private在類圖上的含義是什麼?
- 10. Class是什麼?
- 11. DTMobileIS的含義是什麼?
- 12. if(';')的含義是什麼?
- 13. ui.draggable.draggable的含義是什麼?
- 14. URL的含義是什麼
- 15. android:backgroundDimAmount的含義是什麼?
- 16. 什麼是java.io.tmp的含義
- 17. !int_variable--?的含義是什麼!
- 18. 什麼是WindowsIdentity的含義
- 19. CronJobs的含義是什麼?
- 20. 「error_subcode」的含義是什麼
- 21. xmlns:android的含義是什麼?
- 22. $ @的含義是什麼?
- 23. SootMethod.getSubSignature()的含義是什麼?
- 24. view.bounds.origin的含義是什麼?
- 25. 「UseTaskFriendlySynchronizationContext」的含義是什麼?
- 26. DFA的含義是什麼?
- 27. configureDefaultServletHandling的含義是什麼?
- 28. 「Class POCO」是什麼?
- 29. 什麼是_Use_decl_annotations_含義
- 30. 代碼含義是什麼?
說真的,作爲西班牙語的母語人士,我感到羞愧的是,人們如何將他們的希望寄託在谷歌翻譯上來幫助他們解決這類問題。 – 2013-02-26 23:59:44
debemos culpar google翻譯entonces。 – irreputable 2013-02-27 00:02:43
或者感到失望的是,儘管有其他所有成就,但我們還沒有制定出一條在語言和理解上聯合世界的道路。 – 2013-02-27 00:03:25