Hi Leute,
könnt ihr mir sagen wieso diese Zuweisung korrekt ist.
Folgende Klassen sind gegeben:
class B { ... }
class A extends B { ... }
class C<T> extends A { ... }
class D<T> { ... }
class E<T> extends D<T> { ... }
class F<T> extends C<String> { ... }
Zuweisung
C<String> a = new F<Integer>(); ja
Hat es was damit zutun das die Klasse C beim erweitern der Klasse F konkretisiert wurde? Weil die Klasse C an sich ja unkonkretisiert war.
Normal ist ja die regel beide unkonkretisiert dann muss die Zuweisung vom selben Typenparameter sein also z.B. C <String> a = new D<String>();
Gruß
könnt ihr mir sagen wieso diese Zuweisung korrekt ist.
Folgende Klassen sind gegeben:
class B { ... }
class A extends B { ... }
class C<T> extends A { ... }
class D<T> { ... }
class E<T> extends D<T> { ... }
class F<T> extends C<String> { ... }
Zuweisung
C<String> a = new F<Integer>(); ja
Hat es was damit zutun das die Klasse C beim erweitern der Klasse F konkretisiert wurde? Weil die Klasse C an sich ja unkonkretisiert war.
Normal ist ja die regel beide unkonkretisiert dann muss die Zuweisung vom selben Typenparameter sein also z.B. C <String> a = new D<String>();
Gruß