Up-Transformation-Objekt: Die Unterklasse erstellt ein Objekt und weist diesen Objekt auf das Objekt der übergeordneten Klasse zu.
Syntaxformat: Vater f = neuer Sohn ();
Anmerkungen:
Codebeispiel:
öffentliche Klasse Shangz {// Premium -Klasse int a = 1; int b = 2; void cal () {// Premium Class's Own Method System. // Auf dem Transformationsobjekt ruft die Unterklasse -Methode s.err () auf; // Das Transformationsobjekt verliert die Attribute der Unterklasse}} Klasse Shangzdemo erweitert Shanghai {// Subklasse erbt die übergeordnete Klasse void Cal () {// Subklasse schreibt das übergeordnete Klassen -Methode -System der übergeordneten Methode des Methode des Methode des übergeordneten Methode.Nächstes Transformationsobjekt: Das von der übergeordnete Klasse verwiesene Objekt wird in den Typ der Unterklasse konvertiert (Konvertierung von Gusstyp).
Syntaxformat:
Vater f = neuer Sohn ();
Sohn S = (Vater) f;
Fehlersyntax: (Kein Fehler, der für die Kompilierung gemeldet wurde, kein Fehler für den Betrieb gemeldet)
Vater f = neuer Vater ();
Sohn S = Sohn (f);
Anmerkungen:
Codebeispiel:
öffentliche Klasse Shanghai {// Premium -Klasse int a = 1; int b = 2; void cal () {// Premium Class's Own Method System.OUT.Println (a*b);} public static void main (String [] args) {shangz s = new shanghaidemo (); shangzdemo d = (shangzdemo); // Die Methode der übergeordneten Klasse d.div () wurde genannt; // Das Objekt nennt die Subklass -Methode Shanghai serr = new Shanghai (); Shangzdemo Derr = (Shangzdemo) serr; Derr.cal (); //The compilation does not report an error, and the conversion exception occurs when running}}class Shanghai Demo extends Shanghai{ //Subclass inherits the parent class void cal(){ //Subclass overrides the parent class method System.out.println(a+b);}void div(){ //Subclass's own method System.out.println(a/b);}}Schließlich: Objekttransformation wird häufiger in Generika verwendet.