国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

改寫clone的時候要小心

2019-11-18 13:19:28
字體:
來源:轉載
供稿:網友

  一個專家級程序員,從來都不會去改寫clone方法,也從來不去調用它,除非是為了低開銷來拷貝一個數組。
  
  一個為了繼續而設計的類,假如未能實現一個行為良好的PRotected的clone方法,它的子類要實現cloneable接口是不可能的。
  
  真的要做,如何實現改寫clone方法呢?
  
  所有實現了cloneable接口的類都應該用一個公有的方法改寫clone,這個方法要首先調用super.clone,假如所有的類都實現這么做,那么最終就會回溯到object的clone方法,不會得到clone得到不對的對象的情況。調用super.clone之后,把所有復雜對象設成初始狀態,原始類型數據可以直接復制。
  
  通常情況下,此時還需要對內部的任何可變對象(比如堆棧,鏈表)進行深層結構的拷貝。不能簡單的復制。
  
  比如,A實例有一個堆棧Stack,調用A的clone方法,假如僅僅是令B的Stack=A的stack,那么修改A的stack同時會影響到B中stack的情況。所以,我們必須進行深層拷貝,防止這個問題。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 蚌埠市| 叙永县| 横峰县| 泰州市| 萍乡市| 时尚| 洪湖市| 漳浦县| 新丰县| 白城市| 赤壁市| 崇左市| 高淳县| 郓城县| 汝阳县| 高清| 名山县| 彭山县| 兴国县| 重庆市| 额尔古纳市| 永济市| 横山县| 永城市| 乌兰察布市| 龙口市| 玛纳斯县| 苍山县| 宜君县| 彭泽县| 贡山| 东源县| 南和县| 米脂县| 军事| 平度市| 河曲县| 库尔勒市| 固始县| 耿马| 东阳市|