Bonjour,

J'ai un problème lié à l'utilisation d'une interface. Cette interface I possède une méthode avec un paramètre de type A.

Je déclare une classe C qui implémente cette interface. Elle doit donc implémenter cette méthode. Je l'implémente donc mais en choisissant comme type du paramètre B qui étend la classe A. Mais j'ai une erreur de compilation : Le type C doit implémenter la méthode abstraite héritée I.method(A).

Pourquoi ça ne marche pas ?

Voici la structure du code pour une meilleure visibilité.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
public class A {
 
}
 
public class B extends A {
 
}
 
public interface I {
	public void method(A param);
}
 
public class C implements I {
	public void method(B param); 
}
Merci d'avance.