1、通过new关键字创建新对象
用new关键字创建对象是我们在开发中最常用的方式,new关键字会为我们在堆内存中开辟一块空间以存放对象的引用(包含对象本身以及内部属性的引用)。
2、通过newInstance()方法创建新对象
newInstance()方法本质上是利用反射调用对应类的构造器构造对象
3、通过重写clone()方法创建新对象
在实现深拷贝的方式中我们就提到过引用类型字段重写clone()的方式,实际上就是利用了clone()方法创建新对象的特性。本质上(内部实现)依然是使用new关键字或者反射创建新对象。