Beispiel 1
Elternklasse erzwingt Unterklasse
Father f = new Father(); Son s = (Father)f;//出错 ClassCastException
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;//可以
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;//可以
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!