前言
在Java中有一句比较流行的话,叫做“万物皆对象”,这是Java语言设计之初的理念之一。我们每天创建很多对象,那你知道Java中创建对象的方式有几种吗?
本文将介绍Java创建对象的4种方法:
- new关键字
- 反射
- Clone方法
- 反序列化
1.使用new关键字创建对象
这也是我们最常用最简单的创建对象方式了,我们可以调用任意参数的构造器。
2.反射
通过反射创建对象的方式又有两种,一是通过Class.newInstance,二是通过调用构造器再去创建对象Constructor.newInstance。
- Class.newInstance
- Constructor.newInstance
先通过反射获取类中无参构造器,然后通过newInstance()获取对象:
3.Clone
通过Clone创建对象,首先要在实体类中必须先实现Cloneable接口并复写Object的clone方法(因为Object的这个方法是protected的,你若不复写,外部也调用不了呀)。
4.反序列化
序列化:指把 Java 对象转换为字节序列的过程;
反序列化:指把字节序列恢复为 Java 对象的过程;
因此我们可以通过反序列化创建对象,具体代码如下:
总结
以上便是Java创建对象的五种方式,也是面试经常会问到的问题,通过本篇文章,你将会了解掌握创建对象的五种方式。
五种方式是否调用了构造器总结:
创建对象方式 |
是否调用了构造器 |
---|---|
new关键字 |
是 |
Class.newInstance |
是 |
Constructor.newInstance |
是 |
Clone |
否 |
反序列化 |
否 |
因此,Java创建对象不一定会调用构造器,此知识点得牢记!!!
相关文章
暂无评论...