Object對象是java中對象的始祖,其有一些方法是經常需要我們來改寫的:
toString方法
該方法是Object的方法,Object的這的方法返回的是對象的文件結構加上對象的hashcode,但是有些類對這個方法進行的改寫返回的是對應的string的描述
比如,String類就是這樣的,改寫了從Object繼承來的這個方法
一般情況下,我們都需要自己改寫這個方法,public String toString(),獲得有關對象的詳細描述。
equals方法的改寫
“==”比較的是對象的屬性值,Object.equals()方法一般比較的是不是同一個對象,也就是比較兩個對象的引用值是不是相等。這與我們的常理不服,我們更多的是比較兩個對象的屬性只是不是相同,這是需要們改寫一下equals的方法,String本身已經改寫
1 public boolean equals(Object obj) 2 { 3 Person p = null; 4 if(obj instanceof Percon) 5 p = (Person) obj; 6 if(this.name.equals(p.name)) 7 { 8 return ture;//這個意思說只要名字相同就是同一個人,包括雙胞胎 9 } 10 return false; 11 }
hashCode方法
采用底層操作系統的hash算法返回對象的hash值,java認為如果equals的值為true,那么hashCode必須相同,如果改寫的quals方法,也要改寫hashCode
常見的改寫方法可以參見javacore