前言

在Java中有一句比较流行的话,叫做“万物皆对象”,这是Java语言设计之初的理念之一。我们每天创建很多对象,那你知道Java中创建对象的方式有几种吗?

本文将介绍Java创建对象的4种方法:

  1. new关键字
  2. 反射
  3. Clone方法
  4. 反序列化

1.使用new关键字创建对象

这也是我们最常用最简单的创建对象方式了,我们可以调用任意参数的构造器。

java新建date对象 java创建新的对象_java

2.反射

通过反射创建对象的方式又有两种,一是通过Class.newInstance,二是通过调用构造器再去创建对象Constructor.newInstance。

  • Class.newInstance

java新建date对象 java创建新的对象_Java_02

  •  Constructor.newInstance

先通过反射获取类中无参构造器,然后通过newInstance()获取对象:

java新建date对象 java创建新的对象_Java_03

3.Clone

通过Clone创建对象,首先要在实体类中必须先实现Cloneable接口并复写Object的clone方法(因为Object的这个方法是protected的,你若不复写,外部也调用不了呀)。

java新建date对象 java创建新的对象_构造器_04

java新建date对象 java创建新的对象_构造器_05

 4.反序列化

序列化:指把 Java 对象转换为字节序列的过程;

反序列化:指把字节序列恢复为 Java 对象的过程;

因此我们可以通过反序列化创建对象,具体代码如下:

java新建date对象 java创建新的对象_java_06

 总结

以上便是Java创建对象的五种方式,也是面试经常会问到的问题,通过本篇文章,你将会了解掌握创建对象的五种方式。

五种方式是否调用了构造器总结:

创建对象方式

是否调用了构造器

new关键字

Class.newInstance

Constructor.newInstance

Clone

反序列化

因此,Java创建对象不一定会调用构造器,此知识点得牢记!!!