理論上Object類別是所有類別的父類,即直接或間接的繼承java.lang.Object類別。由於所有的類別都繼承在Object類,因此省略了extends Object關鍵字。
該類別中主要有以下方法: toString(),getClass(),equals(),clone(),finalize(), 其中toString(),getClass(),equals是其中最重要的方法。
注意:
Object類別中的getClass(),notify(),notifyAll(),wait()等方法定義為final類型,因此不能重寫。
getClass()方法;
不可重寫,要調用的話,一般和getName()聯合使用,如getClass().getName();
toString()方法;
可重寫;如果在實際使用中為特定物件提供一個特定的輸出模式,當這個類型轉換為字串或字串連線時,建立自動呼叫重寫的toString()方法。
public ObjectInstance{ public String toString(){ return "在"+getClass().getName()+"重写toString()方法" } public static void main(String arg[]){ System.out.println(new ObjectInstance()); } }
equals()方法;
class V { } public class OverWriteEquals{ public static void main(String args[]){ String s1="123"; String s2="123"; System.out.println(s1.equals(s2)); V v1= new V(); V v2= new V(); System.out.println(v1.equals(v2)); } }
輸出結果:
run: true false BUILD SUCCESSFUL (total time: 0 seconds)
從本例可以看出,在自定義的類別中使用equals()方法進行比較equals方法的預設實作是"=="運算符,即比較兩個物件的參考位址,而不是比較物件的內容。所以要真正比較兩個物件中的內容,需要在自訂類別中重寫equals()方法。
更多Java中的Object類別詳細介紹相關文章請關注PHP中文網!