Servus,
Ein Generic Type ist in seinem Szenario ähnlich der Verwendung eines abstrakten Typs, nur dass eben alle Typen und nicht nur von Document abgeleitete verwendet werden können. [...]
Nein, da hast du etwas falsch verstanden und dementsprechend auch in allen Beispielen falsch angewandt. Nur die generische Klasse deklariert den generischen Typ, alle Implementation erweitern diese mittels konkreten Typings:
public abstract class Document {}
public class Text extends Document {}
public abstract class Printer<T extends Document> {
public abstract void print(T doc);
}
public class LinePrinter extends Printer<Text> {
@Override
public void print(Text doc) {
// TODO Auto-generated method stub
}
}
Gruss
Patrick