這篇文章主要介紹了Java中的Object類詳細介紹,本文講解了Object類的作用、Object類的主要方法、Object類中不能被重寫的方法、Object類的equals方法重寫執行個體等内容,需要的朋友可以參考下
理論上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()方法。