Java中创建对象有几种方式?
问题背景
作为java开发者,我们每天都要创建很多对象,但我们通常使用依赖注入的方式管理系统,比如Spring框架创建对象。然而其实是有很多创建对象的方法:1.使用new关键字实例化一个对象;2.通过反射机制动态创建对象。3.调用Object类的对象克隆clone()方法创建对象。4.使用反序列化方式创建对象。
使用new关键字实例化一个对象
这个也是我们最常使用的方法,对象类提供了对应的public的构造方法给我们调用。
通过反射机制动态创建对象。
首先看我们定义的Apple类:
然后通过反射去获取得到对象:
调用Object类的clone()克隆方法创建对象
首先Apple类必须实现Cloneable接口,并且重写clone()方法。定义类如下:
克隆方法得到新的对象如下:
使用反序列化方式创建对象。
首先Apple类必须实现Serializable接口。定义类如下:
通过序列化获取对象如下: