日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

JavaSE(六)——Object类、克隆方法

發(fā)布時(shí)間:2025/3/13 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JavaSE(六)——Object类、克隆方法 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

文章目錄

  • 1. Object類
    • 1.1 定義
    • 1.2 常用方法
  • 2. 克隆方法
    • 2.1 定義
    • 2.2 對(duì)象淺克隆要注意的細(xì)節(jié)

1. Object類

1.1 定義

Object類是頂層父類,所有的類都直接或間接繼承該類。

1.2 常用方法

(1)hashCode(): 返回此對(duì)象的哈希碼值,不是對(duì)象的實(shí)際地址值,可理解為邏輯地址值。不同對(duì)象的哈希碼值不同,同一對(duì)象的哈希碼值相同 。
(2)getClass():返回此對(duì)象的運(yùn)行時(shí)類。將JVM為這個(gè)文件創(chuàng)建的對(duì)象獲取出來。
(3)toString(): 返回此對(duì)象的字符串表示。一般建議在Objiect類的子類中重寫該方法。
(4)equals(Object object):判斷此對(duì)象是否與obj對(duì)象“相等”。
注意:“==”與equals()區(qū)別

  • “==”號(hào)在比較基本數(shù)據(jù)類型(int、float…)時(shí),比較的是兩個(gè)對(duì)象的字面值;在比較引用型數(shù)據(jù)類型(string…)時(shí)比較的是兩對(duì)象的地址值。

  • equals():在所有沒有重寫equals()方法的類中,調(diào)用equals()方法和使用==號(hào)的效果一樣,也是比較的地址值,然而,Java提供的所有類中,絕大多數(shù)類都重寫了equals()方法,重寫后的equals()方法一般都是比較兩個(gè)對(duì)象的字面值。

  • 實(shí)例

  • 運(yùn)行結(jié)果

2. 克隆方法

2.1 定義

  • clone()的權(quán)限修飾符是受保護(hù)的,在用的時(shí)候,讓該類重寫該方法,并把該方法的權(quán)限修飾符改為public。使用clone()方法采用的是淺克隆的方式。

  • 實(shí)例

  • 運(yùn)行結(jié)果
    -

2.2 對(duì)象淺克隆要注意的細(xì)節(jié)

(1)如果一個(gè)對(duì)象需要調(diào)用clone的方法克隆,那么該對(duì)象所屬的類必須要實(shí)現(xiàn)Cloneable接口。
(2)Cloneable接口只不過是一個(gè)標(biāo)識(shí)接口而已,沒有任何方法。只是給該類打一個(gè)標(biāo)記,告訴JVM我要完成某種操作。
(3)對(duì)象的淺克隆就是克隆一個(gè)對(duì)象的時(shí)候,如果被克隆的對(duì)象中維護(hù)了另外一個(gè)類的對(duì)象,這時(shí)候只是克隆另外一個(gè)對(duì)象的地址,而沒有把另外一個(gè)對(duì)象也克隆一份。
(4)對(duì)象的淺克隆也不會(huì)調(diào)用到構(gòu)造方法。

  • 實(shí)例

  • 運(yùn)行結(jié)果

    因?yàn)樵贒og類里維護(hù)了DogFood類的dogfood對(duì)象,所以只是克隆了dogfood的地址,使得運(yùn)行結(jié)果均為”泡面搭檔火腿腸“。

總結(jié)

以上是生活随笔為你收集整理的JavaSE(六)——Object类、克隆方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。