Accéder aux méthodes d'une classe
Résolu
biouf3131
Messages postés
31
Date d'inscription
Statut
Membre
Dernière intervention
-
biouf3131 Messages postés 31 Date d'inscription Statut Membre Dernière intervention -
biouf3131 Messages postés 31 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Dans mon programme Java, j'ai une classe qui s'appelle "Class1" et qui a la méthode getItem().
J'ai une variable x, de type String qui contient "Class1".
Avec cela, m'est t'il possible de faire appel aux méthodes de ma classe Class1 à partir de ma variable x ?
C'est à dire, existe t'il une instruction du genre de celle-ci (qui ne marche pas, je l'ai essayée): x.getClass().getItem();
Peut-être que ma question est stupide, mais si elle ne l'est pas et quelle a une réponse, cela m'aiderait bien!
Merci de vos réponses,
Bernard
Dans mon programme Java, j'ai une classe qui s'appelle "Class1" et qui a la méthode getItem().
J'ai une variable x, de type String qui contient "Class1".
Avec cela, m'est t'il possible de faire appel aux méthodes de ma classe Class1 à partir de ma variable x ?
C'est à dire, existe t'il une instruction du genre de celle-ci (qui ne marche pas, je l'ai essayée): x.getClass().getItem();
Peut-être que ma question est stupide, mais si elle ne l'est pas et quelle a une réponse, cela m'aiderait bien!
Merci de vos réponses,
Bernard
A voir également:
- Accéder aux méthodes d'une classe
- Comment acceder au presse papier - Guide
- Comment accéder à wetransfer gratuitement ? - Guide
- Accéder aux options de démarrage avancées de windows 10 - Guide
- Acceder messagerie hotmail - Guide
- Comment accéder au trousseau icloud - Guide
3 réponses
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.
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.
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