1. Verwenden Sie das neue Schlüsselwort
Dies ist unsere häufigste und einfachste Art, Objekte auf diese Weise zu erstellen Wir können auch jeden Konstruktor aufrufen (parameterlos und parametrisiert).
Zum Beispiel:
User user = new User();
2. Verwenden Sie den Reflexionsmechanismus
Verwenden Sie die Reflexionsmethode, um Java.lang.Class
oder java.lang.reflect.Constructor
Instanz von newInstance()
aufzurufen Klassenmethode.
Verwandte Video-Tutorial-Freigabe: Java-Lehrvideo
1 Verwenden Sie die newInstance-Methode der Class-Klasse
Sie können Verwenden Sie die Class-Klasse. Die newInstance-Methode erstellt das Objekt. Diese newInstance-Methode ruft den parameterlosen Konstruktor auf, um das Objekt zu erstellen.
//创建方法1 User user = (User)Class.forName("根路径.User").newInstance(); //创建方法2(用这个最好) User user = User.class.newInstance();
2. Verwenden Sie die newInstance-Methode der Constructor-Klasse.
ist der newInstance-Methode der Class-Klasse sehr ähnlich. Es gibt auch eine newInstance-Methode in Java .lang.reflect.Constructor-Klasse. Über diese newInstance-Methode können wir parametrisierte und private Konstruktoren aufrufen.
Constructor<User> constructor = User.class.getConstructor(); User user = constructor.newInstance();
Diese beiden neuen Instanzmethoden werden von allen als Reflexion bezeichnet. Tatsächlich ruft die newInstance-Methode von Class intern die newInstance-Methode von Constructor auf.
3. Verwenden Sie die Klonmethode
Immer wenn wir die Klonmethode eines Objekts aufrufen, erstellt der JVM ein neues Objekt und kopiert den gesamten Inhalt des vorherigen Objekts . Geh rein. Beim Erstellen eines Objekts mit der Klonmethode wird kein Konstruktor aufgerufen.
Um die Klonmethode verwenden zu können, müssen wir zunächst die Cloneable-Schnittstelle und die darin definierte Klonmethode implementieren.
Zum Beispiel:
public class CloneTest implements Cloneable{ private String name; private int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public CloneTest(String name, int age) { super(); this.name = name; this.age = age; } public static void main(String[] args) { try { CloneTest cloneTest = new CloneTest("wangql",18); CloneTest copyClone = (CloneTest) cloneTest.clone(); System.out.println("newclone:"+cloneTest.getName()); System.out.println("copyClone:"+copyClone.getName()); } catch (CloneNotSupportedException e) { e.printStackTrace(); } }
Ausführung:
newclone:wangql copyClone:wangql
4. Deserialisierung verwenden
Wenn wir ein Objekt serialisieren und deserialisieren, jvm wird ein separates Objekt für uns erstellen. Während der Deserialisierung erstellt der JVM das Objekt und ruft keinen Konstruktor auf.
Um ein Objekt zu deserialisieren, müssen wir unsere Klasse dazu bringen, die Serializable-Schnittstelle zu implementieren.
Verwandte Artikel und Tutorials teilen: Schnellstart mit Java
Das obige ist der detaillierte Inhalt vonEs gibt mehrere Möglichkeiten, Objekte in Java zu erstellen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!