IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

API standards et tierces Java Discussion :

[Reflexion] Récupération d'une méthode déclarée dans la classe supérieure


Sujet :

API standards et tierces Java

  1. #1
    Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2006
    Messages
    106
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 106
    Points : 61
    Points
    61
    Par défaut [Reflexion] Récupération d'une méthode déclarée dans la classe supérieure
    Bonjour tout le monde,

    J'espère avoir chez vous une réponse à mon problème

    J'utilise la réflexion pour récupérer une méthode de la classe supérieure de ma classe (pour des besoins spécifiques je dois appelé une méthode parmi un ensemble de méthode).

    La méthode est déclarée comme 'protected', donc j'utilise la méthode declaredMethod('nom de la méthode') pour la récupérer. et j'aimerai lui faire appel. sachant que je suis dans la classe qui étends sa classe, donc j'ai la possibilité d’exécuter la méthode.

    A l’exécution du programme, j'arrive à récupérer la méthode mais l’appel me retourne 'null'

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
    Class myClass = this.getClass();
    Method destinationServiceGetter;
    destinationServiceGetter = myClass.getSuperclass().getDeclaredMethod("get"
    				+ serviceName, null);
     
    Object destinationService = destinationServiceGetter.invoke(this);
    avec serviceName est une chaîne de caractère comme entrée.

    P.S : quand je mets la méthode dans la même classe, le programme marche bien. (sans utiliser getSuperclass() biensur ).

    est ce que l'appel à une méthode avec la réflexion ne respecte pas si la classe est une classe qui hérite de la classe concernée?.

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 559
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 559
    Points : 21 621
    Points
    21 621
    Par défaut
    Chez moi ça marche. Montre-nous un programme qui a le problème, mais qui compile.

    Edit : Ah, j'avais pas compris, tu essaies de contourner le polymorphisme. Tu ne peux pas. Si on pouvait le contourner de cette manière, à quoi servirait-il ?

  3. #3
    Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2006
    Messages
    106
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 106
    Points : 61
    Points
    61
    Par défaut
    J'ai essayé un simple programme, et ça a marché.

    Après la vérification, J'ai trouvé que j'ai déconné :p

    J'ai pas utilisé le fichier spring exacte dont je doit injecter mon service ; c'est pourquoi il me retourne null.

    Merci pour ta réponse

    Bonne fin de soirée.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 05/01/2015, 19h06
  2. Accès à une méthode directement dans sa classe
    Par nico78200 dans le forum jQuery
    Réponses: 2
    Dernier message: 03/02/2011, 13h06
  3. [Delphi 6] Récupération d'une image stocké dans une table
    Par bchass dans le forum Bases de données
    Réponses: 4
    Dernier message: 20/12/2006, 14h48
  4. Réponses: 1
    Dernier message: 25/04/2006, 21h29
  5. [Conception] récupération d'une variable php dans une autre page
    Par vali7 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 18/01/2006, 11h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo