Heim >Java >javaLernprogramm >Werden statische Methoden in Java wirklich vererbt?

Werden statische Methoden in Java wirklich vererbt?

DDD
DDDOriginal
2024-12-22 06:44:11931Durchsuche

Are Static Methods Truly Inherited in Java?

Vererbung statischer Methoden in Java

Trotz der Behauptung, dass statische Methoden in Java nicht vererbt werden, zeigt der Code das Gegenteil. Dieser Widerspruch wirft die Frage auf: Werden statische Methoden wirklich vererbt?

Um dieses scheinbare Paradoxon zu verstehen, ist es wichtig, das Konzept der Member-Vererbung in Java noch einmal zu betrachten. Dem Buch zufolge gelten zugängliche Mitglieder einer Superklasse (ohne Verwendung von „super“) als vererbt.

Die Sun Java Tutorials bieten jedoch eine breitere Perspektive:

  • Unterklassen erben alle öffentliche und geschützte Mitglieder ihrer übergeordneten Klasse, unabhängig vom Paket.
  • Wenn sich die Unterklasse in der befindet Wenn Sie dasselbe Paket verwenden, erbt es auch package-private-Mitglieder.

Auf dieser Grundlage werden statische Methoden geerbt, da sie von Natur aus öffentlich sind. Sie sind über ihre einfachen Namen zugänglich und nicht an bestimmte Instanzen gebunden.

Die einzige Besonderheit bei geerbten statischen Methoden ist ihr Verhalten, wenn neue statische Methoden mit identischen Signaturen in Unterklassen eingeführt werden. In diesem Fall wird die vorhandene statische Methode ausgeblendet und nicht überschrieben. Dieses Verhalten stellt sicher, dass die für die Unterklasse spezifische statische Implementierung unberührt bleibt.

Daher gilt die Erklärung des Buches zur Member-Vererbung sowohl für Instanz- als auch für statische Methoden, mit dem Unterschied, dass statische Methoden immer sichtbar sind und geerbt werden, wenn sie es sind in der Oberklasse zugänglich. Darüber hinaus hängt der Zugriff auf eine versteckte statische Methode davon ab, ob der Aufruf von der Oberklasse oder der Unterklasse erfolgt.

Das obige ist der detaillierte Inhalt vonWerden statische Methoden in Java wirklich vererbt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn