Qui étend les interfaces? Et pourquoi?
https://softwareengineering.stackexchange.com/questions/137501
-
04-11-2019 - |
Question
Afaik, ma classe extends
Cours de parents et implements
interfaces. Mais je traverse une situation, où je ne peux pas utiliser implements SomeInterface
. Il s'agit de 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 en utilisant implements
est syntaxiquement interdit. Je pensais d'abord que l'utilisation d'interface à l'intérieur <> est interdite du tout, mais non. C'est possible, je n'ai qu'à utiliser extends
à la place de implements
. En conséquence, j'étends "une interface. Cet autre exemple fonctionne:
public interface CallsForGrow {...}
public class GrowingArrayList <T extends CallsForGrow> // this works!
extends ArrayList<T>
Pour moi, cela semble être une incohérence syntaxique. Mais peut-être que je ne comprends pas quelques 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?
Pas de solution correcte