Frage:
Warum steht in Java „extends T“? zum Definieren von Typparametergrenzen zulässig, aber „implementiert T“ ist nicht zulässig?
Zum Beispiel ist der folgende Code verboten:
<code class="java">public interface C {} public class A<B implements C> {}</code>
Solange dieser Code gültig ist:
<code class="java">public class A<B extends C> {}</code>
Antwort:
Semantisch gibt es innerhalb der generischen Einschränkungssprache keine Unterscheidung zwischen „erweitert“ und „implementiert“. Die Einschränkungsmöglichkeiten sind auf „extends“ und „super“ beschränkt, was die Richtung der Vererbung oder Zuweisungskompatibilität widerspiegelt.
Im Im Falle des ungültigen Codebeispiels wird versucht, „implements“ zu verwenden, um eine Einschränkung für den Typparameter B zu definieren. „implements“ ist jedoch kein gültiger Einschränkungstyp und daher nicht zulässig.
Das obige ist der detaillierte Inhalt vonWarum ist „erweitert T' für Typparametergrenzen in Java zulässig, nicht jedoch „implementiert T'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!