Object類是所有類的根類。
Object類是所有類的父類,位於java.lang包中 數組也是Object類的子類
Object類的常用方法 toString(); equals(); hashCode();
任何類的對象,都可以調用Object類中的方法,包括數組對象。系統默認存在繼承Object類。
例如
public class Example{ public void f(Object obj){ } } public class Test{ public static void main(){ Example exam=new Example(); int[] array=new int[4]; ……//任何數組 exam.f(array); } }
toString方法; toString方法可以將任何一個對象轉換成 字符串返回,返回值的生成算法為:getClass().getName() + '@' + Integer.toHexString(hashCode())。
例如:toString ()的方法重寫。
class Goods { String name ; int coding; int price; int num; Goods(String name,int coding,int price,int num){ this.name = name ; this.coding = coding; this.price = price; this.num = num; // coding = textField.getText(); // name = textField_1.getText(); // num = textField_2.getText(); // price = textField_3.getText(); } public String toString (){ return " 編號: "+coding+" 姓名: "+name+" 數量: "+num+" 價格: "+price; } public static void main (String [] args){ Goods good = new Goods("張三",022,12510,0021); System.out.println(good); }
equals方法; Object類中的equals方法,用來比較兩個引用的虛地址。當且僅當兩個引用在物理上是同一個對象時,返回值為true,否則將返回false。
一般方法中equals比較的是兩個對象的值。因為一般方法都被toString重寫。
hashCode方法 獲取對象的哈希碼值,為16進制 equals方法與hashCode方法關系 如果兩個對象使用equals比較返回true,那么它們的hashCode值一定要相同 如果兩個對象equals比較返回false,那么它們的hashCode值不一定不同 覆蓋equals,往往需要覆蓋hashCode,可以使用Eclipse自動生成,保證equals返回true,則hashCode相同;equals返回false,則hashCode不同 在Set集合部分有實際應用