2023學(xué)年完整公開課版Object類_第1頁
2023學(xué)年完整公開課版Object類_第2頁
2023學(xué)年完整公開課版Object類_第3頁
2023學(xué)年完整公開課版Object類_第4頁
2023學(xué)年完整公開課版Object類_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

Object類目錄Part01教學(xué)目標(biāo)Part02教學(xué)內(nèi)容Part04鞏固提高ContentsPart03教學(xué)總結(jié)Part01教學(xué)目標(biāo)教學(xué)目標(biāo)知識(shí)目標(biāo)Object類的使用01能力目標(biāo)掌握Object類的使用02Part02教學(xué)內(nèi)容1.

Object類Object類是所有類、數(shù)組、枚舉類的父類,也就是說,Java允許把所有任何類型的對(duì)象賦給Object類型的變量。當(dāng)定義一個(gè)類時(shí)沒有使用extends關(guān)鍵字為它顯式指定父類,則該類默認(rèn)繼承Object父類。2.成員方法cloneprotectedObjectclone()throwsCloneNotSupportedException

這個(gè)方法比較特殊:

首先,使用這個(gè)方法的類必須實(shí)現(xiàn)java.lang.Cloneable接口,否則會(huì)拋出CloneNotSupportedException異常。Cloneable接口中不包含任何方法,所以實(shí)現(xiàn)它時(shí)只要在類聲明中加上implements語句即可。第二個(gè)比較特殊的地方在于這個(gè)方法是protected修飾的,覆寫clone()方法的時(shí)候需要寫成public,才能讓類外部的代碼調(diào)用。自定義類實(shí)現(xiàn)“淺克隆”的步驟:(1)自定義類實(shí)現(xiàn)Cloneable接口。(2)自定義類實(shí)現(xiàn)clone()方法。(3)在clone()方法中通過super.clone()調(diào)用Object的clone()方法來實(shí)現(xiàn)“淺克隆”。3.成員方法equalsbooleanequals(Objectobj)

“==”運(yùn)算符判斷兩個(gè)引用是否指向同一個(gè)對(duì)象。對(duì)于Object類的equals()方法來說,它判斷調(diào)用equals()方法的引用于傳進(jìn)來的引用是否一致,即這兩個(gè)引用是否指向的是同一個(gè)對(duì)象。即Object類中的equals()方法等價(jià)于==。只有當(dāng)繼承Object的類覆寫(override)了equals()方法之后,繼承類實(shí)現(xiàn)了用equals()方法比較兩個(gè)對(duì)象是否相等,才可以說equals()方法與==的不同。

4.重寫equals原則重寫的equals()方法需要具有如下特點(diǎn):自反性(reflexive):任何非空引用x,x.equals(x)返回為true。

對(duì)稱性(symmetric):任何非空引用x和y,x.equals(y)返回true當(dāng)且僅當(dāng)y.equals(x)返回true。

傳遞性(transitive):任何非空引用x和y,如果x.equals(y)返回true,并且y.equals(z)返回true,那么x.equals(z)返回true。

一致性(consistent):兩個(gè)非空引用x和y,x.equals(y)的多次調(diào)用應(yīng)該保持一致的結(jié)果,(前提條件是在多次比較之間沒有修改x和y用于比較的相關(guān)信息)。

約定:對(duì)于任何非空引用x,x.equals(null)應(yīng)該返回為false。并且覆寫equals()方法時(shí),應(yīng)該同時(shí)覆寫hashCode()方法,反之亦然。5.成員方法hashCodeinthashCode()

當(dāng)你覆寫(override)了equals()方法之后,必須也覆寫hashCode()方法,反之亦然。這個(gè)方法返回一個(gè)整型值(hashcodevalue),如果兩個(gè)對(duì)象被equals()方法判斷為相等,那么它們就應(yīng)該擁有同樣的hashCode。

Object類的hashCode()方法為不同的對(duì)象返回不同的值,Object類的hashCode值表示的是對(duì)象的地址。

6.成員方法toString()StringtoString()當(dāng)打印引用,如調(diào)用System.out.println()時(shí),會(huì)自動(dòng)調(diào)用對(duì)象的toString()方法,打印出引用所指的對(duì)象的toString()方法的返回值,因?yàn)槊總€(gè)類都直接或間接地繼承自O(shè)bject,因此每個(gè)類都有toString()方法。

Part03

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論