AFAIK, la mia classe extends
classi genitore e implements
interfacce. Ma trovo una situazione in cui non posso usare implements SomeInterface
. È la dichiarazione di un tipo generico. Ad esempio:
public interface CallsForGrow {...}
public class GrowingArrayList <T implements CallsForGrow> // BAD, won't work!
extends ArrayList<T>
Qui l'uso di implements
è sintatticamente vietato. Ho pensato innanzitutto che l'uso dell'interfaccia all'interno di < > è proibito a tutti, ma no. È possibile, devo solo usare extends
invece di implements
. Di conseguenza, sto "estendendo" un'interfaccia. Questo altro esempio funziona:
public interface CallsForGrow {...}
public class GrowingArrayList <T extends CallsForGrow> // this works!
extends ArrayList<T>
Per me sembra un'incongruenza sintattica. Ma forse non capisco alcune finezze di Java 6? Ci sono altri posti in cui dovrei estendere le interfacce? L'interfaccia, intendo estendere, dovrebbe avere alcune funzioni speciali?