Je suis interactif à travers les classes dans un fichier Jar et souhaite trouver celles qui ne sont pas abstraites. Je peux résoudre cela en instanciant les classes et en piégeant InstantiationException, mais cela a un impact sur les performances car certaines classes ont un démarrage important. Je ne peux rien trouver comme isAbstract() dans les docs Class.java.Comment puis-je déterminer si une classe Java est abstraite par réflexion
Répondre
Il aura abstrait comme l'un de ses modificateurs lorsque vous appelez getModifiers() sur l'objet de classe.
Cette link devrait 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()
Class myClass = myJar.load("classname");
bool test = Modifier.isAbstract(myClass.getModifiers());
Aussi, ce que seth a dit. :) – Stobor
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;
}
si c'est une interface et que le nom de la classe est java.util.List, vous pouvez créer une ArrayList –
- 1. Comment vérifier si une classe Delphi est déclarée abstraite?
- 2. Comment savoir si une classe Java est un type primitif?
- 3. Comment déterminer si un caractère est une lettre en Java?
- 4. Java - Classe abstraite pour contenir des variables?
- 5. Comment implémenter une classe abstraite en F #?
- 6. Comment déterminer quand une application a commencé à utiliser la réflexion java est terminée
- 7. Méthode vide dans une classe abstraite
- 8. déterminer si une autre application est occupée
- 9. Comment utiliser la réflexion Java lorsque le type enum est une classe?
- 10. Comment identifier les membres abstraits par réflexion
- 11. Jmockit exemple classe abstraite
- 12. Déterminer l'emplacement d'une classe java chargée par Matlab
- 13. Déterminer si une méthode existe dans une classe statique
- 14. Injection d'une ressource dans une classe abstraite
- 15. mockForConstraintsTests classe abstraite groovy
- 16. Comment déterminer si une chaîne est JSON valide?
- 17. Déterminer si un type est statique
- 18. Une classe de base peut-elle déterminer si une classe dérivée a remplacé un membre virtuel?
- 19. Une classe en Java peut-elle déterminer si elle a été modifiée?
- 20. Comment déterminer si XML est bien formé?
- 21. méthode abstraite dans une classe virtuelle
- 22. Comment puis-je déterminer si une case est cochée?
- 23. Comment déterminer si une police TrueType est en italique?
- 24. Comment déterminer si une page est en cours de redirection
- 25. Comment déterminer si un contrôle est activé sur une page?
- 26. Déterminer si une valeur ou une expression concrète est passée?
- 27. Comment déterminer par programmation si la vérification Git est une étiquette et si oui, quel est le nom du tag
- 28. Quelle est la différence entre une classe abstraite et une mixine?
- 29. Déterminer si une ressource existe dans ResourceManager
- 30. Déterminer si l'utilisateur est connecté
Merci! Une petite note: Vous ne pouvez pas utiliser "class" comme nom de variable, peut-être que vous voulez changer votre exemple. –