实现 Cloneable 需要注意

产品Product里面包含BaseInfo对象:Product(productName,companyName,baseinfo)如果implement Cloneable  需要实现  

 

 注意强转类型,

 这时实例clone = product1.clone()获得备份,通过输出两者hashCode()发现product1与clone 共享baseinfo,baseinfo为浅拷贝。
解决方法,BaseInfo也implement Cloneable ,克隆Product后也克隆他的Baseinfo,把备份的baseinfo set成备份的product的baseinfo

posted @ 2019-12-15 18:44  llm111222333  阅读(122)  评论(0编辑  收藏  举报