Heim > Java > JavaBase > Hauptteil

Konvertierungsproblem zwischen übergeordneter Klasse und Unterklasse in Java

王林
Freigeben: 2019-12-17 11:55:54
nach vorne
3807 Leute haben es durchsucht

Konvertierungsproblem zwischen übergeordneter Klasse und Unterklasse in Java

Beispiel 1

Elternklasse erzwingt Unterklasse

Father f = new Father();
Son s = (Father)f;//出错 ClassCastException
Nach dem Login kopieren

Analyse:

Erstellen Sie eine Instanz der Elternklasse und möchten Sie die Konvertierung erzwingen Die Umwandlung von übergeordneten Klassenobjekten in Unterklassen ist nicht möglich! Laienhaft ausgedrückt: Ein echter Vater kann niemals so tun, als wäre er ein Sohn.

Teilen Sie Online-Lernvideo-Tutorials: Java-Online-Tutorial

Beispiel 2

„Gefälschte“ Elternklasse wird gezwungen, die Kinderklasse zu rotieren

Father f = new Son();
Son s = (Son)f;//可以
Nach dem Login kopieren

Analyse:

Das übergeordnete Klassenobjekt verweist auf eine Unterklasseninstanz.

Die für die Son-Klasse einzigartigen Eigenschaften können vorerst nicht von f bedient werden, da die Vater-Klasse nicht über die einzigartigen Eigenschaften der Son-Klasse (Unterklasse) verfügt.

Erstellen Sie dann ein Unterklassenobjekt s, das sich auf das Objekt bezieht, das gewaltsam vom übergeordneten Klassenobjekt f konvertiert wird (eigentlich ist es ein Sohn, der vorgibt, ein Vater zu sein, und er wird gewaltsam wieder in einen Sohn konvertiert). Zu diesem Zeitpunkt können Sie s übergeben, um die eindeutigen Attribute der Unterklasse zu bedienen.

Laienhaft ausgedrückt gibt ein Sohn vor, sein Vater zu sein. Er ist immer noch ein Sohn, und sein Wesen hat sich immer noch nicht verändert.

Beispiel 3

Die Unterklasse wird gezwungen, in die übergeordnete Klasse zu konvertieren

Son s = new Son();
Father f = (Father)s;//可以
Nach dem Login kopieren

Analyse:

Die Unterklasse wird in die übergeordnete Klasse konvertiert, aber die Eindeutige Attribute des Unterklassenobjekts können nicht verwendet werden. Mit der f-Operation kann f seine unspezifischen Eigenschaften (von der übergeordneten Klasse geerbte Eigenschaften) bearbeiten.

Laienhaft ausgedrückt haben ein Sohn und sein Vater gemeinsam, dass sie beide Menschen sind. Ein Sohn ist ein Mensch, weil er es von seinem Vater geerbt hat, aber a Der Sohn kann niemals derselben Generation angehören wie sein Vater (der Unterklassentyp wird in den übergeordneten Klassentyp umgewandelt).

Empfohlene verwandte Artikel und Tutorials: Schnellstart mit Java

Das obige ist der detaillierte Inhalt vonKonvertierungsproblem zwischen übergeordneter Klasse und Unterklasse in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:csdn.net
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage