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!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SublimeText3 Chinese version
Chinese version, very easy to use

mPDF
mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

Safe Exam Browser
Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

PhpStorm Mac version
The latest (2018.2.1) professional PHP integrated development tool

Notepad++7.3.1
Easy-to-use and free code editor