AFAIK, mes extends
classes et implements
interfaces parentales . Mais je rencontre une situation où je ne peux pas l'utiliser implements SomeInterface
. C'est la déclaration d'un type générique. Par exemple:
public interface CallsForGrow {...}
public class GrowingArrayList <T implements CallsForGrow> // BAD, won't work!
extends ArrayList<T>
Ici, l'utilisation implements
est interdite syntaxiquement. J'ai d'abord pensé qu'il était interdit d'utiliser l'interface à l'intérieur de <>, mais non. C'est possible, je n'ai qu'à utiliser à la extends
place de implements
. En conséquence, je "prolonge" une interface. Cet autre exemple fonctionne:
public interface CallsForGrow {...}
public class GrowingArrayList <T extends CallsForGrow> // this works!
extends ArrayList<T>
Cela me semble être une incohérence syntaxique. Mais peut-être que je ne comprends pas certaines finesses de Java 6? Y a-t-il d'autres endroits où je devrais étendre les interfaces? L'interface, que je veux étendre, devrait-elle avoir des fonctionnalités spéciales?