Home > Java > JavaBase > body text

There are several ways to create objects in java

王林
Release: 2019-12-02 09:09:49
Original
2870 people have browsed it

There are several ways to create objects in java

1. Use the new keyword

This is our most common and simplest way to create objects. Through this In this way we can also call any constructor (parameterless and parameterized).

For example:

User user = new User();
Copy after login

2. Use reflection mechanism

Use reflection method to call Java.lang.Class orjava.lang.reflect.ConstructornewInstance()Instance method of class.

Related video tutorial sharing: java teaching video

1. Use the newInstance method of the Class class

You can use the Class class The newInstance method creates the object. This newInstance method calls the parameterless constructor to create the object.

//创建方法1
User user = (User)Class.forName("根路径.User").newInstance(); 
//创建方法2(用这个最好)
User user = User.class.newInstance();
Copy after login

2. Use the newInstance method of the Constructor class

is very similar to the newInstance method of the Class class. There is also a newInstance method in the java.lang.reflect.Constructor class. Create objects. We can call parameterized and private constructors through this newInstance method.

Constructor<User> constructor = User.class.getConstructor();
User user = constructor.newInstance();
Copy after login

These two newInstance methods are what everyone calls reflection. In fact, the newInstance method of Class internally calls the newInstance method of Constructor.

3. Use the clone method

Whenever we call the clone method of an object, the jvm will create a new object and copy all the contents of the previous object. Go in. Creating an object using the clone method does not call any constructor.

To use the clone method, we need to first implement the Cloneable interface and implement the clone method defined by it.

For example:

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();
        }
    }
Copy after login

Execution:

newclone:wangql
copyClone:wangql
Copy after login

4. Using deserialization

When we serialize and deserialize An object, jvm will create a separate object for us. During deserialization, the jvm creates the object and does not call any constructor.

In order to deserialize an object, we need to make our class implement the Serializable interface.

Related article tutorial sharing: java quick start

The above is the detailed content of There are several ways to create objects in java. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template