JAVA创建对象的五种方式?

JAVA创建对象的四种方式:
有4种显式地创建对象的方式:

1.用new语句创建对象,这是最常用的创建对象的方式。

2.3.运用反射手段,调用Java.lang.Class或者java.lang.reflect.Constructor类的newInstance()实例方法。
②、通过 Class 类的 newInstance() 方法
  这种默认是调用类的无参构造方法创建对象。比如 Person p2 = (Person) Class.forName(“com.ys.test.Person”).newInstance();

③、通过 Constructor 类的 newInstance 方法
  这和第二种方法类时,都是通过反射来实现。通过 java.lang.relect.Constructor 类的 newInstance() 方法指定某个构造器来创建对象。

Person p3 = (Person) Person.class.getConstructors()[0].newInstance();

实际上第二种方法利用 Class 的 newInstance() 方法创建对象,其内部调用还是 Constructor 的 newInstance() 方法。
  
3.调用对象的clone()方法。
clone又有深拷贝,浅拷贝

浅拷贝即复制基本数据类型+String类型,对引用类型只复制引用而不复制引用的对象,所以对任何一个对象的引用类型的修改都会影响到另外一个对象。
实现浅拷贝:implements Cloneable Object类里的clone()方法是浅拷贝

深拷贝即复制基本数据类型+引用类型,对任何对象的修改都不会影响到对方
实现深拷贝:利用构造器,主要还是使用序列化

以下为参考文章
https://www.cnblogs.com/ysocean/p/8482979.html
4.运用反序列化手段,调用java.io.ObjectInputStream对象的readObject()方法.

下面演示了用前面3种方式创建对象的过程。在这里插入图片描述
https://zhidao.baidu.com/question/545683596.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值