java不用new创建对象_除了使用new关键字,还有什么方法可以创建Java对象呢?

  • Post author:
  • Post category:java


今天来盘点一下除了使用 “new” 关键字创建对象,还有什么方法可以创建Java对象呢?

因为是创建对象,所以这里ioc容器不在范围内

我们先看一下常用的new关键字创建

ClassA object = new ClassA();

第一种方式就是使用Class.forName()创建对象

ClassA object = (ClassA) Class.forName(“com.demo.ClassA”).newInstance();

第二种方法使用clone()

ClassA objectA = new ClassA();

ClassA objectB = objectA.clone();

第三种方法是运用反序列化手段,调用java.io.ObjectInputStream对象的 readObject()方法。

ObjectInputStream inStream = newObjectInputStream(inputStream);

ClassA object= (ClassA) inStream.readObject();

Tips: Java.io.ObjectOutputStream代表对象输出流,其方法writeObject(Object obj)可以实现对象的序列化,将得到的字节序列写到目标输出流中。Java.io.ObjectInputStream代表对象输入流,其readObject()方法能从源输入流中读取字节序列,将其反序列化为对象,并将其返回。

好了,这几种就是我了解的创建对象的方法,如果还有其他方法欢迎补充!



版权声明:本文为weixin_36003005原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。