除了使用new关键字,还有什么方法可以创建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 = new ObjectInputStream(inputStream); 
ClassA object = (ClassA) inStream.readObject();

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

 

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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM