Java的Object类
Object類:
所有類的直接或間接超類,處在類層次的最高點
包含了所有Java類的公共屬性
Object類的主要方法:
public final Class getClass() 獲取當前對象所屬類的信息,返回Class對象;
public String toString() 返回表示當前對象本身有關信息的字符串對象;
public boolean equals(Obeject obj) 比較兩個對象引用是否指向同一對象,是返回ture,否返回flase;
protected Object clone() 復制當前對象,并返回這個副本(對象的復制)
public int hashCode() 返回該對象的哈希代碼值
protected void finalize() throws Throwable 在對象被回收時執行通常完成對象的資源釋放工作;
相等和同一:
兩個對象具有相同的類型,及相同的屬性值,則稱二者相等(equal)。
如果兩個引用變量指向的時同一個對象,則稱這兩個引用變量同一
兩個對象同一,則肯定相等
兩個對象相等,不一定同一。
比較運算符“==”判斷的是這兩個對象是否同一;(判斷兩個引用是否指向同一個對象)
hashCode方法:
hashCode是一個返回對象散列碼的方法;
在一個Java程序的一次執行過程中,如果對象“相等比較”所使用的信息沒有被修改的話,同一對象執行hashCode方法每次都應返回同一個整數。在不同的執行中,對象的hashCode方法返回值不必一致(不是同一次執行,對象的hashCode不一定相同)
如果依照equals方法兩個對象是相等的,則在這兩個對象上調用hashCode方法應該返回相同的整數結果
如果依照equals方法兩個對象不想等,并不要求在這兩個對象上調用hashCode方法返回值不同。
只要實現的合理,Object類定義的hashCode方法為不同對象返回不同的整數,一個典型的實現是,將對象的內部地址轉換為整數返回,但是Java語言并不要求必須這樣實現;
clone方法:
用于根據已存在的對象構造一個新的對象,也就是復制對象。
使用clone方法賦值對象:
覆蓋clone方法:在Obejct類中被定義為protected,所以需要覆蓋為public。(以為每個對象類的內部屬性都不一樣,所以需要覆蓋)實現Cloneable接口;
finalize方法:
在對象被垃圾回收期回收之前,系統自動調用對象的finalize方法;
如果要覆蓋finalize方法,覆蓋方法的最后必須調用super.finalize。
getClass方法:
final方法,返回一個Class對象,用來帶便對象所屬的類;
通過Class對象,可以查詢類的各種信息:比如名字、超類、實現接口的名字等;
notify、notifyAll、wait方法:
final方法,不能覆蓋,這三個方法主要用在多線程程序中;
?
轉載于:https://www.cnblogs.com/mcmx/p/9121582.html
總結
以上是生活随笔為你收集整理的Java的Object类的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: $.ajax()方法详解(网上引用)
- 下一篇: java美元兑换,(Java实现) 美元