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