AFAIK, meine Klasse extendsElternklassen und implementsSchnittstellen. Aber ich stoße auf eine Situation, die ich nicht nutzen kann implements SomeInterface. Es ist die Deklaration eines generischen Typs. Beispielsweise:
public interface CallsForGrow {...}
public class GrowingArrayList <T implements CallsForGrow> // BAD, won't work!
extends ArrayList<T>
Hier ist das Verwenden implementssyntaktisch verboten. Ich dachte zuerst, dass die Verwendung der Schnittstelle in <> überhaupt verboten ist, aber nein. Es ist möglich, dass ich nur extendsanstelle von verwenden muss implements. Infolgedessen "erweitere" ich eine Schnittstelle. Dieses andere Beispiel funktioniert:
public interface CallsForGrow {...}
public class GrowingArrayList <T extends CallsForGrow> // this works!
extends ArrayList<T>
Für mich scheint es eine syntaktische Inkonsistenz zu sein. Aber vielleicht verstehe ich einige Finessen von Java 6 nicht? Gibt es noch andere Stellen, an denen ich Schnittstellen erweitern soll? Sollte die Schnittstelle, die ich erweitern möchte, einige Besonderheiten aufweisen?