Bonjour,
J'aimerai connaître le comportement de votre compilateur java sur le programme suivant:
Chez moi eclipse 3.2.2 ne pose pas de problème, mais le jdk de sun (javac 1.6.0) me retourne l'erreur suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 interface A {} interface B {} interface C extends A,B {} interface Super1 { public A get(); } interface Super2 { public B get(); } public interface Child extends Super1, Super2 { public C get(); }
Ce problème de sous-typage variant/contravariant ne devrait-il pas être définit dans la spécification de Java ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Child.java:16: types Super2 and Super1 are incompatible; both define get(), but with unrelated return types interface Child extends Super1, Super2 { ^ 1 error
Partager