如何通过反射确定 Java 类是否抽象
我正在通过Jar文件中的类进行交互,并希望找到那些不抽象的类。我可以通过实例化类并捕获实例化Exception来解决此问题,但是由于某些类具有繁重的启动,因此性能会受到影响。我在类.java文档中找不到任何明显像isAbstract()这样的东西。
我正在通过Jar文件中的类进行交互,并希望找到那些不抽象的类。我可以通过实例化类并捕获实例化Exception来解决此问题,但是由于某些类具有繁重的启动,因此性能会受到影响。我在类.java文档中找不到任何明显像isAbstract()这样的东西。
当您在类对象上调用 getModifiers() 时,它将具有抽象作为其修饰符之一。
此链接应该会有所帮助。
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()
Class myClass = myJar.load("classname");
bool test = Modifier.isAbstract(myClass.getModifiers());