淺談Java的封裝類,淺談Java封裝類
一、什麼是Java封裝類
所謂Java封裝類,就是將Java中的8種基礎資料型別 (Elementary Data Type)分別封裝成為類的形式。封裝類與基礎資料型別 (Elementary Data Type)的對應關係如下表所示。
基礎資料型別 (Elementary Data Type) |
封裝類 |
byte |
Byte |
short |
Short |
int |
Integer |
long |
Long |
float |
Float |
double |
Double |
char |
Character |
boolean |
Boolean |
其中,Byte、Short、Integer、Long、Float、Double是Number的子類,Character和Boolean是Object的子類。
二、為什麼會有Java封裝類
Java是一門物件導向的程式設計語言,提倡“一切皆對象”,而Java中的基礎資料型別 (Elementary Data Type)卻不是對象,這就導致當我們要對基礎資料型別 (Elementary Data Type)進行操作的時候會存在諸多不便,比如說,我們要將整型資料轉換為字串,或者將字串轉換為整型、浮點型資料,或者擷取某個整數的二進位、八進位、十六進位等等,都需要我們站在對象的角度進行操作,因此將基礎資料型別 (Elementary Data Type)封裝成類,以便把基礎資料型別 (Elementary Data Type)當做對象來進行處理。
三、裝箱與拆箱——實現基礎資料型別 (Elementary Data Type)與封裝類之間的相互轉換
基礎資料型別 (Elementary Data Type)和封裝類之間的轉換是通過裝箱與拆箱來實現的。封裝類提供了裝箱和拆箱的方法,例如:
通過封裝類的構造方法,我們可以實現裝箱
Integer a = new Integer(6);//裝箱
通過封裝類的拆箱方法,我們可以實現拆箱
Float a = new Float(66.6f);//裝箱float b = a.floatValue();//拆箱
在JDK1.5之前,裝箱與拆箱需要通過以上方式手動實現,在JDK1.5之後,Java提供了自動裝箱和拆箱機制,例如:
Integer i = 60; //自動裝箱Float f = 66.6f;//自動裝箱int a = i;//自動拆箱Float b = f;//自動拆箱
四、封裝類的應用
在實際應用中,通過封裝類,我們可以將字串變為基礎資料型別 (Elementary Data Type),例如:
int i = Integer.parseInt(“123”);//將”123”裝換為int類型的資料float f = Float.parseFloat(“456”);//將”456”轉換為float類型的資料
也可以將基礎資料型別 (Elementary Data Type)變為字串,例如:
String s = Integer.toString(123);//將123裝換為字串
還可以進行二進位、八進位、十進位、十六進位之間的轉換,例如:
int m = 10;String binaryString = Integer.toBinaryString(m);//擷取m的二進位形式String hexString = Integer.toHexString(m);//擷取m的十六進位形式String octalString = Integer.toOctalString(m)//擷取m的八進位形式
除此之外,封裝類提供的API還可以完成很多操作。
五、總結
Java的封裝類是站在物件導向的角度上對基礎資料型別 (Elementary Data Type)的封裝,是為了在程式中用物件導向的思想去操作基礎資料型別 (Elementary Data Type)。