java创建对象的四种方式

1.使用new创建对象

使用new关键字创建对象应该是最常见的一种方式,但是使用new创建对象会增加耦合度。无论使用什么框架,都要减少new的使用以降低耦合度。

Person person = new Person();

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

  1. 使用Class对象的newInstance方法创建该Class对象对应类的实例,这种方法要求该Class对象对应的类有默认的空构造器。
Class clazz = Class.forName("hello.java.reflect.Person");
Person person = (Person)clazz.newInstance();
  1. 先使用Class对象获取指定的Constructor对象,在调用Constructor对象的newInstance方法创建Class对象对应类的实例,通过这种方法可以选定构造方法创建实例。
Constructor c= clazz.getDeclaredConstructor(String.class,String.class,Int.class);
Person person = (Person)c.newInstance("李四","男"20);

3.采用Clone

clone时,需要已经有一个分配了内存的源对象,创建新对象时,首先应该分配一个和源对象一样大的内存空间。要调用clone方法需要实现Cloneable接口,由于clone方法是protected的,所以修改Person类。

Person person1 = new Person();
Person person2 = (Person)person1.clone;

4.采用序列化机制

使用序列化时,要实现实现Serializable接口,将一个对象序列化到磁盘上,而采用反序列化可以将磁盘上的对象信息转化到内存中。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值