如何通过反射判断一个Java类是否是抽象类
我正在通过 Jar 文件中的类进行交互,并希望找到那些不抽象的类。 我可以通过实例化类并捕获 InstantiationException 来解决这个问题,但这会影响性能,因为某些类启动繁重。 我在 Class.java 文档中找不到类似 isAbstract() 的任何内容。
I am interating through classes in a Jar file and wish to find those which are not abstract. I can solve this by instantiating the classes and trapping InstantiationException but that has a performance hit as some classes have heavy startup. I can't find anything obviously like isAbstract() in the Class.java docs.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
当您在类对象上调用 getModifiers() 时,它将使用 Abstract 作为其修饰符之一。
这个链接应该有所帮助。
另外:
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()
It'll have abstract as one of its modifiers when you call getModifiers() on the class object.
This link should help.
Also:
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()