195 votes

Comment puis-je déterminer si une classe Java est abstraite par réflexion

Je suis une parmi par le biais de classes dans un fichier Jar et souhaitent trouver ceux qui ne sont pas abstraites. Je peux résoudre ce problème par l’instanciation des classes et piégeage InstantiationException mais qui a une performance frappée que certaines classes ont démarrage lourd. Je ne trouve rien évidemment comme isAbstract() dans la documentation de Class.java.

338voto

seth Points 18409

Il faudra abstraite comme l'un de ses modificateurs lorsque vous appelez getModifiers() sur la classe de l'objet.

Ce lien devrait vous aider.

 Modifier.isAbstract( someClass.getModifiers() );

Aussi:

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()

33voto

Stobor Points 15428
Class myClass = myJar.load("classname");
bool test = Modifier.isAbstract(myClass.getModifiers());

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X