什么是对象实例化
在写代码时,我们用关键词class定义一个类其实只是定义了一个类的模板,没有在内存中实际产生一个类的实例对象,也没有分配内存空间。要想在内存中产生一个类的实例对象就需要使用new关键字申请分配内存空间,加上类的构造方法提供申请空间的大小规格,在内存中实际产生一个类的实例,一个类使用 new 加 此类的构造方法,执行之后就在内存中分配了一个此类的内存空间,有了内存空间就可以向里面存放定义的数据和进行方法的调用了,这就是对象的实例化。
Person p = new Person();
对象实例化的五种方式
-
⽤new语句创建对象(这是最常见的创建对象的⽅法)
-
通过⼯⼚⽅法返回对象,如:
String str = String.valueOf(23);
-
运⽤反射⼿段,调⽤java.lang.Class或者java.lang.reflect.Constructor类的newInstance()实例⽅法。如:
Object obj =Class.forName("java.lang.Object").newInstance();
-
调⽤对象的clone()⽅法;
-
通过I/O流(包括反序列化),如运⽤反序列化⼿段,调⽤java.io.ObjectInputStream对象的 readObject()⽅法。