Die Notwendigkeit von super() in Unterklassenkonstruktoren verstehen
Beim Erstellen von Unterklassen in Java stellt sich die Frage, ob die super() Der Methodenaufruf ist im Konstruktor der Unterklasse obligatorisch. Dieser Artikel befasst sich intensiv mit diesem Thema und bietet Klarheit zu den folgenden Aspekten:
Automatisches Einfügen von super() durch den Compiler
Die kurze Antwort auf diese Frage lautet Nein. Der Compiler fügt einen super()-Aufruf nicht automatisch in den Konstruktor der Unterklasse ein, wenn dies nicht explizit angegeben ist. Daher muss der Konstruktor der Unterklasse immer den Konstruktor der Oberklasse angeben, den er aufrufen möchte Ein super()-Aufruf im Unterklassenkonstruktor bedeutet nicht, dass der Compiler einen äquivalenten Konstruktor ohne Argumente einfügt. Wenn die Superklasse keinen zugänglichen Konstruktor ohne Argumente hat, führt das Weglassen des super()-Aufrufs zu einem Kompilierungsfehler.
Konstruktoraufruf, wenn Argumente vorhanden sind
Betrachten Sie einen Unterklassenkonstruktor mit Argumenten. In diesem Fall ist der super()-Aufruf erforderlich, um anzugeben, welcher Superklassenkonstruktor aufgerufen werden soll. Der aufgerufene Oberklassenkonstruktor wird in erster Linie durch die tatsächlichen Argumente bestimmt, die an den Konstruktor der Unterklasse übergeben werden. Wenn im super()-Aufruf keine Argumentliste angegeben ist, wird der Superklassenkonstruktor aufgerufen, der der Reihenfolge und den Typen der Konstruktionsargumente der Unterklasse entspricht.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3