Java创建对象的方式

Java创建对象的方式:(4种)

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

但使用new方法会增加耦合度,无论使用什么框架, 都要减少new的使用以降低耦合度.(耦合(coupling) : 指双方相互作用的程度强弱)

Person person1 = new Person;

2. 运用反射机制创建对象. 

   调用java.lang.Class类的newInstance方法

Person person2 = Person.class.newInstance();

   或者java.lang.reflect.Constructor类的newInstance()实例方法

Constructor<Person> constructor = Person.class.getConstructor();

Person person3 = constructor.newInstance();

3. 调用对象的clone()方法   

调用一个对象的clone方法, clone方法所做的就是直接复制字段的内容. 也就是说, 这个操作不管该字段对应的对象实例内容, jvm都会创建一个新同类对象, 将前面对象的内容全部拷贝进去, 像这样字段对字段的拷贝(field to field copy)就称为 "浅拷贝"

clone方法所做的正是"浅拷贝"

要使用clone方法, 必须要实现java.lang.Cloneable接口,并实现其定义的clone方法, 如果不实现Cloneable接口会抛出java.lang.CloneNotSupportedException

Person person4 = (Person) person4.clone();

4. 运用反序列化手段, 调用java.io.ObjectInputStream对象的readObject()方法

当序列化和反序列化一个对象, jvm会创建一个单独的对象. 在反序列化时, jvm创建对象并不会调用任何构造函数

为了反序列化一个对象, 需要让类实现Serializable接口

ObjectInputStream in = new ObjectInputStream(new FileInputStream("data.obj"));

Person person5 = (Person) in.readObject();

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值