1. 程式人生 > >java中Object類、包裝類詳解

java中Object類、包裝類詳解

Object類

Object是java中的基類,所有的類預設都會繼承Object類,所以所有的類都可以通過Object類接收,完成向上轉型,實現引數統一化。 String覆寫的兩個重要的Object方法 1.toString(); Object中的toString方法預設輸出的是該類的名稱getClass()和地址編碼,我們String類繼承Object類對toString()方法進行了覆寫。所以輸出的變成字串而非地址。 而我們System.out.print(’‘hello’’);時預設呼叫了hello的toString()方法. 2.equals(); 正常的比較時比較的是類地址也就是正常的==操作,String類對其equals()方法進行了覆寫,是之完成的是字串內容的比較。 我們可以通過重寫equals和toString方法完成類的比較和內容顯示。 注意

Object是最大的基類,但是Object始終也是引用資料型別,所以Object只能接受類,陣列,介面,不能夠接受8大基本資料型別。為此我們引入類包裝類

包裝類

1.數值型包裝類(Number類的直接子類): long->Long(); int->Integer(); short->Short(); byte->Byte(); double->Double(); float->Float(); 2.物件型包裝類(Object類的直接子類): char->Character(); boolean->Boolean(); 關於數值型的拆裝箱操作 裝箱:基本資料型別->包裝類物件 包裝類的構造方法。 拆箱:包裝類物件->基本資料型別 包裝類.xxValue();//比如:int a =integer.intValue(); 自動拆裝箱: 自動裝箱:Integer integer = 10; 自動拆箱:int a = new Integer(10); 數值型包裝類的值比較

對於Integer integer =? 在-128~127之間的複製,Integer物件自動在Integer常量池中產生,會符用已有物件,這個區間內的Integer 值可以直接使用==判斷。 大於這個範圍的值,或者不是採用自動拆裝箱的值,或者其他型別的值,都採用equals()方法比較,包裝類覆寫了equals()方法,可以進行內容比較。