Accéder aux méthodes d'une classe
Résolu/Fermé
biouf3131
Messages postés
31
Date d'inscription
mercredi 27 juillet 2016
Statut
Membre
Dernière intervention
17 septembre 2017
-
19 févr. 2017 à 18:10
biouf3131 Messages postés 31 Date d'inscription mercredi 27 juillet 2016 Statut Membre Dernière intervention 17 septembre 2017 - 20 févr. 2017 à 11:28
biouf3131 Messages postés 31 Date d'inscription mercredi 27 juillet 2016 Statut Membre Dernière intervention 17 septembre 2017 - 20 févr. 2017 à 11:28
A voir également:
- Accéder aux méthodes d'une classe
- Acceder a uptobox - Guide
- Acceder au bios - Guide
- Comment accéder à wetransfer gratuit ? - Guide
- Sélectionnez une application qui permet d’accéder aux dossiers et fichiers d’un ordinateur. - Guide
- Comment accéder à la corbeille - Guide
3 réponses
KX
Messages postés
16733
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 janvier 2024
3 015
19 févr. 2017 à 18:34
19 févr. 2017 à 18:34
Bonjour,
Pour accéder aux méthodes d'une classe il faut manipuler des objets de cette classe, pas des objets d'une autre classe comme String...
Essayes plutôt
J'ai une variable x, de type String qui contient "Class1"Ca veux dire quoi ? Tu as fais
String x = "Class1";?
Pour accéder aux méthodes d'une classe il faut manipuler des objets de cette classe, pas des objets d'une autre classe comme String...
Essayes plutôt
Class1 x = new Class1();pour construire un objet de type Class1, ensuite tu pourras faire
x.getItem();sans problème.
biouf3131
Messages postés
31
Date d'inscription
mercredi 27 juillet 2016
Statut
Membre
Dernière intervention
17 septembre 2017
19 févr. 2017 à 18:42
19 févr. 2017 à 18:42
Bonjour KX et merci de ta réponse.
Ce que tu me proposes, c'est la l'instanciation classique d'une classe. Moi je voudrais appeler une méthode de la classe dont le nom est contenu dans x, lui même du type String.
Ce que tu me proposes, c'est la l'instanciation classique d'une classe. Moi je voudrais appeler une méthode de la classe dont le nom est contenu dans x, lui même du type String.
KX
Messages postés
16733
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 janvier 2024
3 015
19 févr. 2017 à 19:53
19 févr. 2017 à 19:53
Dans ce cas il faut faire de la réflexion :
Je prends l'exemple d'une ArrayList :
import java.lang.reflect.*;
Je prends l'exemple d'une ArrayList :
Class<?> clazz = Class.forName("java.util.ArrayList"); Object object = clazz.newInstance(); // ArrayList object = new ArrayList(); Method method1 = clazz.getMethod("add", Object.class); method1.invoke(object, "toto"); // object.add("toto"); System.out.println(object); // [toto] Method method2 = clazz.getMethod("size"); Object result = method2.invoke(object); // result = object.size(); System.out.println(result); // 1
biouf3131
Messages postés
31
Date d'inscription
mercredi 27 juillet 2016
Statut
Membre
Dernière intervention
17 septembre 2017
20 févr. 2017 à 11:28
20 févr. 2017 à 11:28
Merci bien KX,
J'avais "oublié" la réflexivité.
Ça marche nickel!
Bonne journée,
Bernard
J'avais "oublié" la réflexivité.
Ça marche nickel!
Bonne journée,
Bernard