像int類型的包裝類Integar
我覺得int本來就是由很多整數組成的啊,我覺得int就是一個類,干嘛還要Integar這樣的包裝類
為什麼要有封裝類型:
我們都知道,JAVA中Object這個類是所有類的超類,但實際上呢,八種基本類型並不屬於Object。。。假如你思考過這個問題,那麼就很明朗了:
public void test(Object obj){
System.out.println(obj);
}
{
test(1);
}
如上,定義的test函數需要一個Object類型的參數,可是1默認是int類型,它跟Object沒半毛錢關系,憑什麼test函數可以接納一個int型的參數進去呢?
原因在於int有其對應的封裝類型:Integer。
編譯器會自動將1變成Integer,而Integer這個封裝類型是Object的子類,所以可以向上轉型被test函數獲取。
可以說,假如沒有這套封裝類型,那基本類型傳參將會是JAVA程序員的噩夢。
封裝類型最大的意義正在於此。
項目中對封裝類型最廣泛的應用:實體類中所有屬性均應采用封裝類型。原因:基本類型沒有null值,而數據庫的表中普遍存在null值。