java 对象创建过程_JAVA创建对象的几种方式

1、用new关键字创建对象,需要使用构造器。

046ac4b1bd29d08cf222a38f5101b01f.png

2、使用反射机制创建对象,用Class类或Constructor类的newInstance()方法。需要使用构造器。

当使用Class类里的newInstance()方法,调用的是无参构造方法。

当使用java.lang.reflect.Constructor类里的newInstance方法,调用的是有参构造方法。

7d702f2d9e1cc0b70ecaf4eca99ee447.png

9fd6584df2d95c7e839646e1feaefcc7.png

dde74cd340bb642b5f96b77bc91ac6d6.png

135848d2659fad3ec35b30f9ad73c550.png

3、通过object类的clone方法

需要实现Cloneable接口,重写object类的clone方法。无论何时我们调用一个对象的clone方法,JVM就会创建一个新的对象,将前面对象的内容全部拷贝进去。用clone方法创建对象并不会调用任何构造函数。

4、使用反序列化

通过ObjectInputStream的readObject()方法反序列化类当我们序列化和反序列化一个对象,JVM会给我们创建一个单独的对象。为了反序列化一个对象,我们需要让我们的类实现Serializable接口。在反序列化时,JVM创建对象并不会调用任何构造函数。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值