AFAIK, le mie classi extends
genitore e le implements
interfacce. Ma mi imbatto in una situazione, in cui non posso usare implements SomeInterface
. È la dichiarazione di un tipo generico. Per esempio:
public interface CallsForGrow {...}
public class GrowingArrayList <T implements CallsForGrow> // BAD, won't work!
extends ArrayList<T>
Qui l'uso implements
è sintatticamente proibito. Ho pensato prima che l'uso dell'interfaccia all'interno di <> sia assolutamente proibito, ma no. È possibile, devo solo usare al extends
posto 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>
A me sembra un'incoerenza sintattica. Ma forse non capisco alcune finezze di Java 6? Ci sono altri posti in cui dovrei estendere le interfacce? L'interfaccia, che intendo estendere, dovrebbe avere alcune funzionalità speciali?