Comment puis-je obtenir le nom de classe d'implémentation basée sur l'interface de l'objet en Java
Je veux obtenir la mise en œuvre nom de la classe à partir de mon interface de l'objet est-il possible de faire cela?
Je sais que je peux utiliser instanceof
pour vérifier la mise en œuvre de l'objet, mais dans mon application il y a près de 20 à 30 classes qui implémentent la même interface pour remplacer une méthode particulière.
Je veux comprendre la méthode particulière qu'il va appeler.
Pourquoi avez-vous besoin de savoir? N'est-ce pas le point de l'abstraction pour le faire peu importe le type que vous avez?
Pouvez-vous préciser ce que vous voulez faire? Peut-être avec un exemple de code. Ce n'est pas vraiment compréhensible.
Cela sonne comme un X->Y problème. Pourriez-vous expliquer le but de la recherche de la méthode particulière?
Pouvez-vous préciser ce que vous voulez faire? Peut-être avec un exemple de code. Ce n'est pas vraiment compréhensible.
Cela sonne comme un X->Y problème. Pourriez-vous expliquer le but de la recherche de la méthode particulière?
obj.getClass()
?yourInstance.getClass().getName()
OriginalL'auteur Veera | 2014-07-28
Vous devez vous connecter pour publier un commentaire.
Suffit d'utiliser
object.getClass()
- ce sera le retour de la classe d'exécution utilisé la mise en œuvre de votre interface:Cela s'applique à des méthodes? Je suis en train d'essayer de trouver d'où une méthode est appelée en Java?
Soulever une nouvelle question. (réponse courte: Vous pourriez avoir à utiliser les exceptions)
OriginalL'auteur Manuel
Un simple
getClass()
sur l'Objet de travail.exemple :
}
O/P :
OriginalL'auteur TheLostMind