软件构造学习笔记-第七周
本周只有一節(jié)課,內(nèi)容較少。對于不可變類型的相等比較,需要重寫equals和hashCode方法,實現(xiàn)觀察等價性。對于可變類型,不建議重寫以上兩方法,按照默認(rèn)比較方式(比較內(nèi)存地址)即可。
可變類型的相等關(guān)系
1.Object類的equals方法檢查的是行為等價性,即兩個變量指向同一個對象時才相等。如StringBuilder類的equals方法。
2.所有不可變類都要重寫equals方法,實現(xiàn)觀察等價性。
對于可變類,直接繼承Object類的hashCode和equals方法即可。
如果一定要判斷兩個可變對象看起來是否一致,最好定義一個新的方法。
3.clone方法創(chuàng)建對象的復(fù)制。
淺拷貝只復(fù)制引用,深拷貝創(chuàng)建新對象。
滿足如下性質(zhì)
自動封裝和相等
1.基本數(shù)據(jù)類型存放在棧中,對象數(shù)據(jù)類型 存放在堆中。
2.
3.通過調(diào)用valueOf創(chuàng)建整形對象,如果范圍是-128~127,則相同值只創(chuàng)建一個對象,擁有行為等價性。執(zhí)行如下操作返回true
4.執(zhí)行左側(cè)的結(jié)果為false(因為明確聲明要創(chuàng)建兩個對象),右側(cè)結(jié)果為true(同3)。
總結(jié)
以上是生活随笔為你收集整理的软件构造学习笔记-第七周的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 白肉柚子的功效与作用、禁忌和食用方法
- 下一篇: 软件构造学习笔记-第八周