Mit Objekten, die wir ähnlich ausführen können, können wir den Typ eines Objekts für ein anderes ändern, solange es sich innerhalb der hierarchischen Struktur in seiner Vererbung befindet.
Einfaches Beispiel
Um das Casting durchzuführen, können wir es implizit durchführen, dh mit einer Zuweisung, und Java weiß, dass sich der Typ des Objekts ändern muss. Dazu können wir Folgendes tun:
Wenn wir uns das Bild ansehen, haben wir ein Objekt der Object- Klasse deklariert und dann sagen wir, dass es eine Student- Instanz war, obwohl das Objekt von einem Typ war, haben wir das Casting erzwungen und es wurde ein anderer Typ mit einer einfachen Zuweisung. Dies liegt daran, dass die Student- Klasse von der Object- Klasse erbt .
Wenn wir nun den umgekehrten Fall und ein Objekt der Student-Klasse ausführen, ändern wir es in den Objekttyp, der passieren würde:
In diesem Fall hätten wir einen Kompilierungsfehler in unserem Programm. Dies liegt an der Hierarchie der Vererbung, da ein Student- Objekt immer vom Objekttyp ist. Es gibt kein Problem, aber ein Objekt ist nicht immer Student, da es eine höhere hierarchische Reihenfolge hat. Deshalb müssen wir vorsichtig sein, wenn wir das Casting der Objekttypen festlegen.
Wenn wir nun eine explizite Art von Casting durchführen möchten, können wir diese Art von Aktionen ausführen, z. B. von einer höheren in eine niedrigere Reihenfolge.
In diesem Beispiel geben wir dem Compiler direkt an, dass das Objekt oder der Typ Object in den Student- Typ umgewandelt werden muss. Hiermit führen wir eine Konvertierung durch, die derjenigen ähnelt, die wir mit den primitiven Variablentypen verwenden.
Zum Beispiel:
Objekt myObject = new Circle (); if (myObject-Instanz von Circle) { System.out.println ("Der Durchmesser des Kreises ist:" + ((Kreis) myObject) .getDiameter ()); }
Hier sehen wir dann, wie wir zuerst ein implizites Casting durchführen , wir haben ein Objekt der Object-Klasse deklariert und ihm dann einen Circle-Typ gegeben, dann fragen wir in unserer Bedingung if (), ob das Objekt eine Instanz von Circle ist, ob es positiv ist, die Antwort, die wir übergeben Für den internen Block wird diesmal erneut explizit ein Casting durchgeführt und eine Klassenmethode aufgerufen.
Wie wir sehen, ist diese Prozedur nicht komplex, nur müssen wir uns darüber im Klaren sein, wie Java und die Hierarchiestruktur dieser Klassen und ihrer Instanzen sind. Damit beenden wir dieses Tutorial und können Objekte gießen und wissen, um welche Art von Instanzen es sich handelt.