Java中创建对象的四种方式

目前,四种创可以创建对象的方式分别为:使用New关键字、使用Class类和Constructor类的newInstance方法、使用Clone方法、使用反序列化。下面分别进行简单介绍:

1.我们最熟悉最常用的new一个关键对象:

2.利用class的反射机制,该种方式适用于有无参构造方法的:

3.使用反序列化(对象在内存中的分配方式,使用流的方式将对象序列化在本地硬盘,然后反序列化成对象,相当于把一个对象的状态完全保存住),利用封装类:ObjectOutputStream,ObjectInputStream。(前提:该类必须实现接口Serializable)

4.利用Object下实例方法clone(),该类必须实现Cloneable接口,不然会抛出异常CloneNotSupportedException。(jdk1.8版本及以上,不支持Object对象直接clone,如:Student stu2 = (Student)stu.clone() 。)

无论利用对象流,还是利用clone(),都会开辟新的内存空间,就是在jvm中的堆内存复制一个与源对象相同的新的对象,千万不要以为旧引用与新引用对应的是同一个对象哦。

猜你喜欢

转载自blog.csdn.net/trustf/article/details/81129440