歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Java中的Object類

理論上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()方法進行比較時,將返回false,因為equals方法的默認實現是"=="運算符,即比較兩個對象的引用地址,而不是比較對象的內容。所以要想真正比較兩個對象中的內容,需要在自定義類中重寫equals()方法。

--------------------------------------分割線 --------------------------------------

編寫高質量代碼 改善Java程序的151個建議 PDF高清完整版 http://www.linuxidc.com/Linux/2014-06/103388.htm

Java 8簡明教程 http://www.linuxidc.com/Linux/2014-03/98754.htm

Java對象初始化順序的簡單驗證 http://www.linuxidc.com/Linux/2014-02/96220.htm

Java對象值傳遞和對象傳遞的總結 http://www.linuxidc.com/Linux/2012-12/76692.htm

Java對象序列化ObjectOutputStream和ObjectInputStream示例 http://www.linuxidc.com/Linux/2012-08/68360.htm

--------------------------------------分割線 --------------------------------------

Copyright © Linux教程網 All Rights Reserved