Les Allergies
Alimentaires
Posez votre question Signaler

Executer class java par son nom string

MallouH 1Messages postés 24 août 2007Date d'inscription - Dernière réponse le 28 août 2007 à 18:24
Salut
J'ai un probleme. s v p aidez moi a le resoudre. je veus executer une classe a partir d'une variable string qui porte son nom. comment faire?
plus de detail si je met par exemple : nomclass a = new nomclass(); ca marche
mais mois je veus executer cette class a partir de la variable par exemple "laclass" declarée comme suit:
String laclass = "nomclass";
je veus ecrire : laclass a = naw laclass();
mais ca ne marche pas car laclass est string non class
j'espere que j'etais claire
j'attend votre reponse
merci
Lire la suite 

Executer class java par son nom string »

8 réponses
Réponse
+0
moins plus
Salut

tu dois utiliser la méthode statique "forName" de la classe "Class"

forName
public static Class forName(String className)
                     throws ClassNotFoundExceptionReturns the Class object associated with the class or interface with the given string name. Invoking this method is equivalent to: 
  Class.forName(className, true, currentLoader)
 where currentLoader denotes the defining class loader of the current class. 
For example, the following code fragment returns the runtime Class descriptor for the class named java.lang.Thread: 

   Class t = Class.forName("java.lang.Thread")
 A call to forName("X") causes the class named X to be initialized. 


Parameters:
className - the fully qualified name of the desired class. 
Returns:
the Class object for the class with the specified name. 
Throws: 
LinkageError - if the linkage fails 
ExceptionInInitializerError - if the initialization provoked by this method fails 
ClassNotFoundException - if the class cannot be located
Ajouter un commentaire
Réponse
+0
moins plus
salut,
merci pour la reponse mais j'ai pas encors resolut mon pb. En effet lorsque j'execute par exemle
Class t = Class.forName("ex.monclass");
ca ne me permet pas d'executer cette class (monclass)
et l'orsque j'affiche le contenue de t il m'afiche ( class ex.monclass)
an outre c quoi l'equivalent de l' instruction ( monclass n = new monclass();)
en utilisant une variable
string var = "monclass";
merci encorsConfiguration: Windows XP Opera 9.23
Ajouter un commentaire
Réponse
+0
moins plus
je comprends pas très bien ta question ... sorry
Ajouter un commentaire
Réponse
+0
moins plus
comment je peut executer une class jave a partir de son nom?
svp aidez moiConfiguration: Windows XP Opera 9.23
Ajouter un commentaire
Réponse
+0
moins plus
En même temps :

Class t = Class.forName("ex.monclass");
ca ne me permet pas d'executer cette class (monclass)

Si tu donnes ex.monclass en entrée en voulant exécuter monclass, normal que cela ne fonctionne pas...
Ajouter un commentaire
Réponse
+0
moins plus
si c normal qui ne fonctionne pas avec Class t = Class.forName("ex.monclass"); et c logique
alors comment il peut fonctionner ?
svp aider moiConfiguration: Windows XP Opera 9.23
Ajouter un commentaire
Réponse
+0
moins plus
ton string doit contenir le nom exacte de ta classe ... le "ex." est de trop

si "ex" est le package qui contient ta classe, il suffit de créer un import

Ajouter un commentaire
Réponse
+0
moins plus
Bonsoir,

String className= "Test";
Class myClass = Class.forName( className );
Test myTestInstance= (Test) myClass.newInstance();

N'hésite pas à utiliser l'API, elle est là pour ça.
Ajouter un commentaire
Ce document intitulé « executer class java par son nom string » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?