Heim >Java >javaLernprogramm >Erben Unterklassen private Felder in Java?

Erben Unterklassen private Felder in Java?

Linda Hamilton
Linda HamiltonOriginal
2024-12-18 11:06:11344Durchsuche

Do Subclasses Inherit Private Fields in Java?

Unterklassen: Private Felder erben oder nicht?

In einem Interviewrätsel löst die Frage, ob Unterklassen private Felder erben, eine Debatte aus. Aufgrund des fehlenden direkten Zugangs zu diesen Feldern könnte man zunächst von einer negativen Reaktion ausgehen. Der Interviewer argumentiert jedoch, dass Unterklassen sie erben, und führt indirekte Zugriffs- und Reflexionsmethoden an.

Trotz der Perspektive des Interviewers besagt die Java Language Specification (JLS) eindeutig, dass private Mitglieder einer Klasse nicht von ihren Unterklassen geerbt werden . Diese Unterscheidung ist von entscheidender Bedeutung, wenn die Vererbung im Kontext von Klassen und nicht von Objekten betrachtet wird. Objekte von Unterklassen enthalten zweifellos die privaten Felder ihrer Oberklassen.

Die Meinung des Interviewers könnte sich aus der umfassenderen Definition von Vererbung ergeben. Objekte von Unterklassen erben alle Daten und Methoden ihrer übergeordneten Klassen, einschließlich privater Felder. Aus Klassensicht bezieht sich Vererbung jedoch auf die Syntax und die Fähigkeiten, die einer untergeordneten Klasse zur Verfügung stehen. Auf private Mitglieder kann von außerhalb ihrer Klasse oder Unterklassen nicht zugegriffen werden, und daher erben Unterklassen sie nicht in diesem Sinne.

Zusammenfassend lässt sich sagen, dass Objekte von Unterklassen die Datenwerte privater Felder von ihren übergeordneten Klassen, Unterklassen, erben selbst erben diese Felder weder aus syntaktischer noch aus Sicht der Barrierefreiheit. Dieses Verständnis stimmt eindeutig mit der offiziellen Java-Sprachdefinition überein.

Das obige ist der detaillierte Inhalt vonErben Unterklassen private Felder in Java?. 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