Heim > Java > JavaBase > Hauptteil

Es gibt mehrere Möglichkeiten, Objekte in Java zu erstellen

王林
Freigeben: 2019-12-02 09:09:49
Original
2856 Leute haben es durchsucht

Es gibt mehrere Möglichkeiten, Objekte in Java zu erstellen

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();
Nach dem Login kopieren

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();
Nach dem Login kopieren

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();
Nach dem Login kopieren

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();
        }
    }
Nach dem Login kopieren

Ausführung:

newclone:wangql
copyClone:wangql
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage