1.new出一个对象
String s = new String(“abc”);
2.利用反射创建对象
利用反射的两种方式:
- 使用Class对象的newInstance()方法来创建Class对象对应类的实例。但是这种方法要求Class对象的对应类有默认构造器,而执行newInstance()方法时实际上利用默认构造器来创建该类的实例。
- 先使用Class对象获取指定的Constructor对象,在调用Construtor对象的newInstance()方法来创建该Class类对应类的实例,通过这种方式可以选择使用某个类的指定构造器来创建实例,有三步:
(1)获取Class对象
(2)利用Class对象的getConstrutor方法来获取指定的构造器
(3)调用Construtor的newInstance方法来创建java对象。
3.利用clone创建对象
- Clone和Copy
- Copy,copy后的cindyelf与tobby指向内存的同一个object。
Employee cindyelf=tobby;
- Clone,得到tobby的精确拷贝,且两者相互不影响,这时会得到一个新的Employee对象,且与tobby有相同的属性值和方法。
Employee cindy=tobby.clone()
- Shallow Clone和Deep Clone
- Shallow Clone
Shallow Clone是某个对象实施Clone后简单执行域对域的copy,但是如果一个employee里的一个域hireDay不是基本类型变量,而是引用类型,经过Clone后,它与原始