標籤:
聲明:本欄目所使用的素材都是凱哥學堂VIP學員所寫,學員有權匿名,對文章有最終解釋權;凱哥學堂旨在促進VIP學員互相學習的基礎上公開筆記。
Object 父類:
Object的方法:
clone() Object 複製
to String() String 轉字串
equals(Object) boolean 比較對象是否相等
get Class() Class 模板對象,通過此方法獲得模板對象。
hashCode() int 轉換成數字
gc 記憶體回收
equals方法講解:
GetClass() 當前對象calss
O.getClass() 傳進來對象的class
getClass()!=o.getClass() 當前的class與傳進來的class 進行比較,如果相同 就是同一個類,不相同就不是同一個類,return false。
為什麼要把o == null放在前面比較?
物件變數不指向一片記憶體是獲得不到裡面資料的、沒有辦法訪問的。
如果o是空的話去調用會發生錯誤,因為o沒得到記憶體是不可以參與訪問的。
null 指標錯誤!
Onull放到後面先啟動並執行會是getClass()!=0.getClass(),萬一o傳進來是空(null)的話,調用時就會發生錯誤。
Onull放到前面,|| 的運算方式是如果前面為true,後面就不會運行。
clone() 複製:我們在傳遞對象,或者賦值對象的時候都是引用傳遞,沒有複製傳遞。
我想給我的對象棄置站台?對象複製一般複製什嗎?
對象和對象之間複製的是屬性值!
1.深複製 :把外界引用的對象同時引用給自己。
2.淺複製 :把外界引用的對象也引用一份。
淺複製:
測試:
複製異常處理:選中報錯代碼地區,Alt鍵+斷行符號。
淺複製記憶體申請:
深複製:裡面寄存一個屬性Dog。
測試:
深複製記憶體申請:
to String() String 轉字串:用於列印屬性值,與字串相加或者列印對象時會自動調用to String()方法。
介紹類的情況、參數值,返回出來的是字串。
字串返回出來的作用就是:用來介紹類的屬性情況,類裡面 的內容。
列印方式:介紹,把屬性值列印出來。
gc 記憶體回收:System.gc() 方法會促進記憶體回收啟動。
什麼對象會被回收?
Dog dog=new Dog();
Dog=null; 只要你的對象沒有物件變數指向,java就可以把你的對象自動回收。 沒有任何變數引用的記憶體就會回收。
在老版本的JDK中,只要你回收對象就會先調用finalize()進行通知。
Java基礎——物件導向(Object父類)