在写代码时,我们用关键词class定义一个类其实只是定义了一个类的模板,没有在内存中实际产生一个类的实例对象,也没有分配内存空间。要想在内存中产生一个类的实例对象就需要使用new关键字申请分配内存空间,加上类的构造方法提供申请空间的大小规格,在内存中实际产生一个类的实例,一个类使用 new 加 此类的构造方法,执行之后就在内存中分配了一个此类的内存空间,有了内存空间就可以向里面存放定义的数据和进行方法的调用了,这就是对象的实例化。
大致就是给这个类赋予对应意义的过程吧,比如
Person p = new Person();
2.java对象实例化的五种方式对象:纸上的一个机器草图,不占用任何空间
实例化:将纸上的机器制作出来,实际占用空间
- ⽤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()⽅法。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)