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();
2. Use reflection mechanism
Use reflection method to call Java.lang.Class
orjava.lang.reflect.Constructor
newInstance()
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();
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();
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(); } }
Execution:
newclone:wangql copyClone:wangql
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!