Wie Objekte entstehen
Die Zeile Vehicle minivan = new Vehicle(); deklariert ein Objekt vom Typ Fahrzeug.
Die Anweisung bewirkt zwei Dinge:
Deklariert eine Variable namens Minivan der Klasse Vehicle.
Erstellt eine physische Kopie des Objekts und weist dem Minivan mithilfe des neuen Operators eine Referenz darauf zu.
Der neue Operator weist einem Objekt dynamisch Speicher zu und gibt einen Verweis darauf zurück.
Die Referenz ist mehr oder weniger die Adresse des Objekts im Speicher, das von new zugewiesen wurde.
Die Referenz wird dann in einer Variablen gespeichert.
In Java müssen alle Objekte einer Klasse dynamisch zugewiesen werden.
Die beiden Schritte der Anleitung können umgeschrieben werden, um jeden Schritt einzeln anzuzeigen.
Fahrzeug-Minivan; // einen Verweis auf das Objekt deklarieren.
Minivan = neues Fahrzeug(); // weist ein Fahrzeugobjekt zu.
Die erste Zeile deklariert Minivan als Referenz auf ein Objekt vom Typ Fahrzeug.
Minivan ist eine Variable, die auf ein Objekt verweisen kann, aber kein Objekt ist.
Der Minivan verweist derzeit nicht auf ein Objekt.
Die nächste Zeile erstellt ein neues Fahrzeugobjekt und weist dem Minivan eine Referenz darauf zu.
Jetzt ist der Minivan mit einem Objekt verknüpft.
Referenzvariablen und Zuordnung
Objektreferenzvariablen verhalten sich bei Zuweisungsoperationen anders als Variablen primitiven Typs.
In Variablen vom primitiven Typ erhält die Variable auf der linken Seite eine Kopie des Werts der Variablen auf der rechten Seite.
In Objektreferenzvariablen verweist die Variable auf der linken Seite auf dasselbe Objekt wie die Variable auf der rechten Seite.
Dies kann zu unerwarteten Ergebnissen führen.
Beispiel:
Fahrzeug car1 = neues Fahrzeug();
Fahrzeug auto2 = auto1;
car1 und car2 verweisen auf dasselbe Objekt.
Änderungen, die über car1 oder car2 vorgenommen werden, wirken sich auf dasselbe Objekt aus.
Wann:
car1.mpg = 26;
System.out.println(car1.mpg);
System.out.println(car2.mpg);
Es wird Ausfahrt 26 geben.
car1 und car2 verweisen auf dasselbe Objekt, sind aber nicht auf andere Weise verknüpft.
Nachträgliche Zuweisungen an Auto2 haben keinen Einfluss auf Auto1.
Beispiel:
Fahrzeug car1 = neues Fahrzeug();
Fahrzeug car2 = car1;
Fahrzeug car3 = neues Fahrzeug();
car2 = car3;
car2 verweist jetzt auf dasselbe Objekt wie car3.
Das von car1 referenzierte Objekt bleibt unverändert.
Das obige ist der detaillierte Inhalt vonObjekterstellung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!