Java常用類之Object類

2020-08-13 16:05:44

Object是所有類的「爸爸」

  • 初步介紹Object
    在Java語言中有繼承的概念,但是跟c語言不同,Java的繼承是單繼承,並且當一個類不寫任何繼承關係的時候,他會預設繼承Object,而且就算是你寫了繼承關係,你所繼承的類最終也是要繼承Object,所以才說他是所有類的「爸爸」。
  • Object中的方法
  1. hashCode():將物件在記憶體中的地址經過計算得到一個int型別的整數。
public native int hashCode();//native關鍵字用於呼叫其他語言,例如c、c++
  1. equals():用來比較兩個物件的內容,在Object中預設效果是==(想知道==和equals()的所有用法請檢視),在這裏比較的是地址,如果想要比較別的可以重寫此方法。
public boolean equals(Object obj) {
        return (this == obj);
    }
  1. toString():列印輸出時將物件變成String字串。
public String toString() {
        return getClass().getName() + "@" + Integer.toHexString(hashCode());
    }
  1. getClass():獲取物件對應類的類對映(反射技術)
public final native Class<?> getClass();
  1. wait():執行緒進入掛起等待狀態,存在方法過載。
public final void wait() throws InterruptedException {
        wait(0);
    }
  1. notify():執行緒喚醒。
public final native void notify();
  1. notifyAll():喚醒所有執行緒。
public final native void notifyAll();
  1. finalize():許可權修飾符是protected,在物件被GC回收時,預設呼叫執行的方法。(注意final、finally、finalize區別,請參見)
protected void finalize() throws Throwable { }
  1. clone():克隆範例的副本,想用的時候需要實現一個介面
protected native Object clone() throws CloneNotSupportedException;