J'ai donc 3 classes.Question sur les génériques Java
Abstract class A
Class B extends class A
independent Class C
Dans la classe D qui contient la principale méthode, je crée une liste des instances de la classe B
List<B> b = methodCall(); // the method returns a list of instances of class B
Maintenant en classe CI ont une méthode qui est commune à la fois A et B, et donc je ne veux pas le dupliquer. Je veux avoir une méthode qui prend en entrée une instance de la classe A, comme suit:
public void someMethod(List<A> a)
Cependant, quand je fais:
C c = new C();
c.someMethod(b);
je reçois une erreur que certains méthode n'est pas applicable pour l'argument List<B>
, il s'attend plutôt à obtenir List<A>
.
Y at-il un bon moyen de résoudre ce problème? Merci beaucoup!
Ce n'est pas une question d'héritage, il est une question de génériques. Consultez le didacticiel sur les génériques. C'est une bonne référence pour ce genre de question: http://java.sun.com/j2se/1.5/pdf/generics-tutorial.pdf –
Pouvez-vous inclure les définitions de fonctions réelles et une copie de l'erreur que vous obtenez? – VeeArr