In JLS 8, Abschnitt 8.4.8.1 < Es gibt eine Aussage:
Eine konkrete Methode in einer generischen Oberklasse C kann unter bestimmten Parametrisierungen haben die gleiche Signatur wie eine abstrakte Methode in dieser Klasse. In diesem Fall die konkrete Methode ist vererbt und die abstrakte Methode ist nicht. Das Erbe Methode sollte dann berücksichtigt werden, um seinen abstrakten Peer von C zu überschreiben.
Kann jemand ein Beispiel für eine solche Parametrisierung für generische Klassen geben? Ich war nicht in der Lage zu.
Die obige Antwort ist korrekt, die von @Roman gegeben wurde. Ich möchte noch eine weitere Antwort hinzufügen. Wenn wir den Parameter der Methode m () von String to Object
ändern, wird es einen Kompilierungsfehler geben, weil Generics auf Type löscht, also nach type löschung m(T t) -> will be to m(Object t)
, was Kompilierungsfehler ist, weil wir kann nicht zwei Methoden mit demselben Namen und derselben Signatur haben. Siehe unten Kompilierungsfehler -
Tags und Links java