Ich glaube, jeder weiß, dass Javas neues Schlüsselwort ein Objekt instanziiert. Ja, es wird auch Speicherplatz für neue Objekte bereitgestellt.
In einem Fall wie New MyDate (22, 7, 1964) erfordert sein Fertigstellung vier Teile:
eins. Richten Sie Speicherplatz für das neue Objekt und speichern Sie MyDate auf den Haufen.
zwei. Führen Sie die Initialisierung der Anzeige durch
drei. Führen Sie den Konstruktor aus. Die Halterungsparameter in der neuen Methode werden an den Konstruktor übergeben und der Objektwert veröffentlicht.
Vier. Diese Variable wird als Verweise auf ein neues Objekt im Heap -Speicher zugewiesen
In Layman -Begriffen fügt Ihr neuer Vorgang dem Speicherhaufen tatsächlich ein neues Objekt hinzu und initialisiert das neue Objekt über eine Konstruktormethode und speichert die Referenz auf das Objekt im Stapel.
Hier habe ich einen Fall, der leicht zu verstehen ist:
public class pet {geschützte Bean be People (); pe.test (); pe.test2 ();} Eine Elternklasse und eine Kinderklasse. Weisen Sie dem Namen durch Test einen Wert zu. Der Ausgangswert von Test2 ermittelt, dass der Ausgangstest dem Namen zugewiesen ist. Denn beim Ausführen der Hauptmethode kompiliert das Programm zunächst die übergeordnete Klasse und instanziiert das BE -Objekt, sodass die Referenzen in der Unterklasse das gleiche Objekt sind, wenn sie jedoch an den folgenden Code geändert werden:
public void test () {bean be Im Test bin ich neu ein Objekt, und die Ausgabe ist null, da die Referenzen, die sie im Speicherstapel speichern, unterschiedlich sind. Im tatsächlichen Codierungsprozess ist es am besten, Objekte mit mehr Referenzen in der übergeordneten Klasse zu schreiben, Unterklassen zu erben oder in Javas einzelner rechts faulen Modus zu schreiben:
Öffentliche Klasse Danli1Class {// 1. Um das Einzelprofit-Modell zu implementieren, müssen Sie seine Konstruktionsmethode () privat danli1class () {} // 2 ändern. Erstens, instanziieren Sie die Instanz von Ihnen selbst private statische Danli1 -Klasse Dan1 = new Danli1class (); // 3. Um sicherzustellen, dass andere Programme auf das Instanz -Hua -Objekt dieser Instanz zugreifen Dies speichert die Speicherverwendung und ermöglicht es, die Objekte wiederverwendet zu werden. Warum also nicht?