Ich habe drei Klassen:Nested erstreckt sich in Generika
class ClassR {}
class ClassA<T extends ClassR>{}
class ClassB<E extends ClassA<T extends ClassR>> extends ClassA<T> {
void foo(T param) {
}
void bar(E param) {
}
}
Die dritte Klasse nicht kompilieren, wenn ich es ändern zu
class ClassB<E extends ClassA<T>, T extends ClassR> extends ClassA<T> {
void foo(T bar) {
}
void bar(E param) {
}
}
Gibt es eine Möglichkeit nur E-Parameter zu halten, ich übergeben müssen beim Erstellen von ClassB und T wird abgeleitet? Zum Beispiel wäre es zweckmäßig sein, zu verwenden:
new ClassB<ClassA<ClassR>>()
statt:
new ClassB<ClassA<ClassR>, ClassR>()
Randbemerkung: es ist besser Runnable zu implementieren als Thema zu erweitern. – m0skit0
geändert in ClassR, da es keinen Unterschied macht – Nutel
Bitte posten Sie die Methode mit der Verwendung von E – Al1en313