java中常见创建对象的方式有哪几种,你知道吗?

java中常见创建对象的方式有哪几种,你知道吗?

如果在面试中问到这个问题,估计会有部分人还不能全部回答正确, 可能知道最多的也就是通过new关键字创建对象,反射方式也许还有人能想到。其实 java的核心思想就是面向对象来编程,所以作为Java开发人员来说,我们每天在编程中都会创建很多对象,那么java中常见创建对象的方式到底有哪几种方式?接下来我们就来学习一下。

那么在Java编程中常见显式地创建对象有以下四种方式,分别是:

1.使用new关键字实例化一个对象。

2.通过反射机制动态创建对象。

3.调用Object类的对象克隆clone()方法创建对象。

4.使用反序列化方式创建对象。

接下来我们分别举例说明在Java编程中常见显式地创建对象的四种方式。

先定义Employee类

java中常见创建对象的方式有哪几种,你知道吗?
java中常见创建对象的方式有哪几种,你知道吗?

1.通过new关键字创建对象

这是大家最熟悉的、最常用的创建对象的一种方式,这种方式通过调用Employee类的构造函数来初始化对象。

java中常见创建对象的方式有哪几种,你知道吗?

2.通过反射机制动态创建对象

调用Java.lang.Class或者java.lang.reflect.Constructor类的newInstance()实例方法来创建对象,这也是Spring框架IOC底层创建对象的方式。

java中常见创建对象的方式有哪几种,你知道吗?
java中常见创建对象的方式有哪几种,你知道吗?
java中常见创建对象的方式有哪几种,你知道吗?

3. 调用Object类的clone()克隆方法创建对象

首先Employee类必须实现Cloneable接口,并且重写clone()方法。

java中常见创建对象的方式有哪几种,你知道吗?

4.使用反序列化方式创建对象

调用java的io包下面ObjectInputStream对象的readObject()方法来实现,首先Employee类必须实现 Serializable接口,然后通过ObjectOutputStream对象的writeObject()方法将Employee对象写入object文件,再通过ObjectInputStream对象的readObject()方法创建对象。

java中常见创建对象的方式有哪几种,你知道吗?
java中常见创建对象的方式有哪几种,你知道吗?

区别

从上面常见的四个创建对象的例子可以看出,用new关键字或使用反射方式Class对象的newInstance()方法创建Employee对象时,都会执行Employee类的构造方法,而使用对象的clone()克隆方法或反序列化方式创建Employee对象时,不会执行Employee类的构造方法。

好了,java中常见创建对象的方式就和大家分享到这里,虽然技术很基础,但是开发中经常会用到,希望给大家的学习带来一定的帮助,同时也可以在下面进行留言交流。

原创文章,作者:zhang, yanling,如若转载,请注明出处:https://www.yidc.net/archives/16909