第三章 ADT與OOP ADT與OOP中的等價性

2021-08-20 19:07:48 字數 809 閱讀 2779

首先先談一下引用等價性與物件等價性,試想有兩個同樣的產品ab,那麼a是否等價於b呢?

先說結論從引用等價性來講a不等價於b,而從物件等價性來講a等價於b。

原因:a與b是同樣的產品,所以樣子形狀等等屬性都是一樣的所以物件等價性等價,但a與b雖說一模一樣,但畢竟是兩個物品,所以引用等價性不等價。

回到正題,此處==代表引用等價性,而equals代表物件等價性,其本質是引用等價性是通過判斷兩個物件指向儲存空間的位址是否相等來判斷是否等價,而物件等價性是通過判斷兩個物件屬性的值是否相等來判斷等價性。

值得一提的是預設情況下equals預設是判斷引用等價性的,但往往不符合實現者期望,所以就需要重寫equals方法使其滿足物件等價性。(記住equals重寫時,引數型別要記得是object哦,不然那個叫過載。→w→)

另外equals方法有以下特性:equals()的自反、傳遞、對稱。

首先說明兩個原則:

1.equals()相等的兩個物件他們的hashcode()肯定相等,也就是用equals()對比是絕對可靠的。

2.hashcode()相等的兩個物件他們的equals()不一定相等,也就是hashcode()不是絕對可靠的。

具體原因大家可以參考這篇部落格,寫的很清楚詳細。(其實就是雜湊雜湊的技術)

總之記住,重寫了equals方法一定要重寫hashcode方法!

最後給大家安利乙個重寫hashcode的方法——objects.hashcode。誰用誰知道~

,即通過只呼叫observer,producer和creator的方法,兩個mutable物件是否看起來一致 。 

第三章 培訓與開發

1 答 1 受訓員工的現狀,即他們在組織中的位置,以及以前是否受過培訓 受過什麼樣的培訓 培訓的形式有哪些等問題。2 受訓員工存在的問題。3 受訓員工的期望和真實想法。4 仔細分析收集到的調查資料,從中找出培訓需求,並注意個別需求與普遍需求之間的關係。2 答 參加培訓的申請人 參加培訓的專案和目的 ...

第三章 排列與組合

第三章 排列與組合 3.1 加法原理與乘法原理 3.2 排列與組合概念與計算公式 3.3 排列與組合的產生演算法 7.1 貪心策略的定義 7.2 貪心策略特點 7.3 典型例題與習題 在眾多的計算機解題策略中,貪心策略可以算得上是最接近人們日常思維的一種解題策略,正基於此,貪心策略在各級各類資訊學競...

第三章 顏色與背景

4.1顏色屬性 color 16進製制的rgb 4.2背景顏色 background color background color可以設定網頁的背景顏色,文字的背景顏色 4.3背景影象background image 設定元素的背景影象 background image url 影象位址 可為絕對位...