Java创建对象有哪几种方式?有什么区别?
方式一:构造方法:通过构造函数,手动new对象
方式二:静态工厂方法
方式三:反射
通过反射获取类模板对象,再通过Class对象的newInstcance()方法创建
通过反射获取类模板对象,再通过Constructor对象创建
方式四:克隆
实现超类Object的Cloneable方法
方式五:序列化
通过反序列化方式创建
1、序列化是干什么的?
简单说就是为了保存在内存中的各种对象的状态,并且可以把保存的对象状态再读出来。虽然你可以用你自己的各种各样的方法来保存Object States,但是Java给你提供一种应该比你自己好的保存对象状态的机制,那就是序列化。
2、什么情况下需要序列化
a)当你想把的内存中的对象保存到一个文件中或者数据库中时候;
b)当你想用套接字在网络上传送对象的时候;
c)当你想通过RMI传输对象的时候;
We only live once, and time just goes by.