2010-06-14 5 views

Répondre

24

Vous pouvez utiliser Class.newInstance:

Object foo(Class type) 
throws InstantiationException, IllegalAccessException { 
    return type.newInstance(); 
} 

... mais cela suppose qu'il ya un constructeur sans argument. Une route plus robuste consiste à passer par Class.getConstructor ou Class.getConstructors, ce qui vous amène à utiliser les éléments de réflexion dans le package java.lang.reflect.

2

Utilisation:

type.newInstance() 

Pour créer une instance en utilisant le costructor vide, ou utiliser la méthode type.getConstructor (..) pour obtenir le constructeur concerné, puis l'invoquer.

1

Oui, cela s'appelle Reflection. vous pouvez utiliser la méthode Class newInstance() pour cela.

+0

Vous pouvez en lire davantage à: http://java.sun.com/docs/books/tutorial/reflect/index.html ce poste a aussi de très bonnes informations: http://stackoverflow.com/questions/37628/what-is-reflection-and-why-is-it-utile – RonK

0

Utilisez la méthode newInstance().

Questions connexes