我正在通過Jar文件中的類進行交互,並希望找到那些不是抽象的類。我可以通過實例化類並捕獲InstantiationException來解決此問題,但由於某些類具有大量啓動,所以性能受到影響。我在Class.java文檔中找不到明顯的isAbstract()。如何確定Java類是否通過反射抽象
152
A
回答
261
當您在類對象上調用getModifiers()時,它將具有抽象作爲其修飾符之一。
這link應該有所幫助。
Modifier.isAbstract(someClass.getModifiers());
另外:
http://java.sun.com/javase/6/docs/api/java/lang/reflect/Modifier.html
http://java.sun.com/javase/6/docs/api/java/lang/Class.html#getModifiers()
28
Class myClass = myJar.load("classname");
bool test = Modifier.isAbstract(myClass.getModifiers());
+0
此外,什麼seth說。 :) – Stobor 2009-07-02 07:04:02
0
public static boolean isInstantiable(Class<?> clz) {
if(clz.isPrimitive() || Modifier.isAbstract(clz.getModifiers()) ||clz.isInterface() || clz.isArray() || String.class.getName().equals(clz.getName()) || Integer.class.getName().equals(clz.getName())){
return false;
}
return true;
}
+0
如果它是一個接口和類名是java.util.List你可能會創建ArrayList – 2017-12-21 19:47:11
相關問題
- 1. 如何通過反射來實現抽象類
- 2. 通過反射確定類型是否爲單例
- 3. 抽象類的Java反射錯誤
- 4. 如何通過反射擴展Java類?
- 5. 如何通過引用抽象類 - Java
- 6. 通過反射確定派生類
- 7. 如何判斷Java類是否抽象?
- 8. 是否有可能通過Java反射子類檢索的類
- 9. 如何確定一個對象是否從一個抽象的通用類
- 10. 通過反射確定方法是否不安全
- 11. 確定反射類型是否可以投射到另一種反射類型
- 12. 是否與抽象類相反?
- 13. Django - 如何確定模型類是否抽象
- 14. 如何通過反射訪問抽象父類中的實例字段?
- 15. 如何確定一個字段是否通過反射具有「新」修飾符?
- 16. 通過反射實例化Java對象
- 17. Java`InvocationTargetException`通過反射類實例化
- 18. 如何通過Java反射動態創建Java類?
- 19. Java:如何確定抽象類型的具體類型?
- 20. 通過反射確定類成員的類型
- 21. 如何通過反射使用BluetoothHeadset類
- 22. 是否可以通過反射
- 23. Java反射,類對象
- 24. 如何通過ScalaMock將受保護的抽象方法抽象java類存根?
- 25. 的Java通過反射
- 26. .NET反射/抽象的HTML?
- 27. 確定是否屬性是通過反射和循環列表項
- 28. Java:通過反射訪問對象的bean類型方法
- 29. 如何通過反射正確實例化內部類?
- 30. 如何使用反射來確定一個類是否是內部的?
謝謝!一點點說明:你不能使用「class」作爲變量名,也許你想改變你的例子。 – 2010-11-24 17:07:28