创建对象和对象的复制

1.创建对象

  1. 通过 new关键字
  2. 通过反射机制( 调用Java.lang.Class或java.lang.reflect.Constructor类的newInstance()方法)
//  1. 使用Class类的newInstance()方法创建对象
User user = User.class.newInstance();

//  2. 使用Constructor类的newInstance() 方法创建对象
Constructor<User> constructor = User.class.getConstructor();
User user = constructor.newInstance();
	
  1. 调用clone()方法
//  1.  调用一个对象的clone方法,jvm就会创建一个新的对象
Object clone = user.clone(); 
a. 使用clone方法,需要先实现Cloneable接口
b. 重写clone()方法;()
  1. 使用反序列化 (反序列化一个对象时,类需要实现Serializable接口)

Transient/序列化ID

2.复制对象

  1. 浅表复制 (调用clone方法)
    a. 需要调用clone方法的对象实现Cloneable接口
    b. 修改clone方法的修饰符和返回值类型
    c. 重写clone方法并调用父类的clone方法(返回值类型强转)
    浅表复制仅仅创建新的对象,对象的成员内容底层哈希值是一致的,不管是原对象还是克隆对象,只要其中一个修改了成员的数据,就会影响所有的原对象和克隆对象
  2. 深层复制
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值