2009-07-02 10 views

Répondre

261

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

+1

Merci! Une petite note: Vous ne pouvez pas utiliser "class" comme nom de variable, peut-être que vous voulez changer votre exemple. –

28
Class myClass = myJar.load("classname"); 
bool test = Modifier.isAbstract(myClass.getModifiers()); 
+0

Aussi, ce que seth a dit. :) – Stobor

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

si c'est une interface et que le nom de la classe est java.util.List, vous pouvez créer une ArrayList –

Questions connexes