VO/BO/DTO/META中我們通常會(huì)實(shí)現(xiàn)Serializable接口笔刹,會(huì)重寫(xiě)toString方法。
- 實(shí)現(xiàn)Serializable接口通常是為了在網(wǎng)絡(luò)傳輸中可以序列化為二進(jìn)制字節(jié)流(前端調(diào)用接口時(shí)的數(shù)據(jù)傳輸冬耿;manager通過(guò)Dubbo調(diào)用service時(shí)的數(shù)據(jù)傳輸...)舌菜。如果不進(jìn)行序列化則會(huì)報(bào)出序列化失敗相關(guān)錯(cuò)誤。
只需要在相應(yīng)的類(lèi)定義后面加上implement Serializable亦镶,JVM就知道此類(lèi)可以被序列化日月,可被默認(rèn)的序列化機(jī)制序列化袱瓮。編譯器就會(huì)自動(dòng)給我們類(lèi)對(duì)象添加序列化和反序列化實(shí)現(xiàn)。
- 當(dāng)一個(gè)父類(lèi)實(shí)現(xiàn)序列化爱咬,子類(lèi)自動(dòng)實(shí)現(xiàn)序列化尺借,不需要顯式實(shí)現(xiàn)Serializable接口。
- 一個(gè)子類(lèi)實(shí)現(xiàn)了 Serializable 接口精拟,它的父類(lèi)都沒(méi)有實(shí)現(xiàn) Serializable 接口燎斩,要想將父類(lèi)對(duì)象也序列化,就需要讓父類(lèi)也實(shí)現(xiàn)Serializable 接口蜂绎。
- 重寫(xiě)toString方法為的是在打印該對(duì)象時(shí)可以清楚的得到該對(duì)象的詳細(xì)信息栅表。不重寫(xiě)時(shí)默認(rèn)調(diào)用父類(lèi)Object的toString方法則只會(huì)打印該對(duì)象的hashcode(內(nèi)存地址)。