创建对象的四种方式
創建的對象的四種方式
使用new創建對象
使用new關鍵字創建對象應該是最常見的一種方式,但我們應該知道,使用new創建對象會增加耦合度。無論使用什么框架,都要減少new的使用以降低耦合度。
使用反射的機制創建對象
使用Class類的newInstance方法
使用Constructor類的newInstance方法
采用clone
clone時,需要已經有一個分配了內存的源對象,創建新對象時,首先應該分配一個和源對象一樣大的內存空間。
要調用clone方法需要實現Cloneable接口,由于clone方法是protected的,所以修改Hello類。
采用序列化機制
實現 Serializable 接口,通過對象的序列化和反序列化實現克隆,可以實現真正的深度克隆
注意:基于序列化和反序列化實現的克隆不僅僅是深度克隆,更重要的是通過泛型限定,可以檢查出要克隆的對
象是否支持序列化,這項檢查是編譯器完成的,不是在運行時拋出異常,這種是方案明顯優于使用 Object 類的 clone
方法克隆對象。讓問題在編譯的時候暴露出來總是好過把問題留到運行時。
總結
- 上一篇: 获取Class对象的三种方式
- 下一篇: IO流以及他们的种类区别 序列化反序列化