本文目錄一覽:
Java的封裝有哪些?
JAVA中常用的封裝方式有以下幾種:
1 、Boolean VS boolean
public final class Boolean extends Object implementsSerializable,Comparable
Boolean 類將基本類型為boolean的值包裝在一個對象中。一個Boolean類型的對象只包含一個類型為boolean的欄位。此外,此類還為boolean和String的相互轉換提供了許多方法,並提供了處理 boolean時非常有用的其他一些常量和方法。
2、 Byte VS byte
public final class Byte extends Number implements Comparable
Byte類將基本類型 byte的值包裝在一個對象中。一個Byte類型的對象只包含一個類型為 byte的欄位。此外,該類還為 byte和 String的相互轉換提供了幾種方法,並提供了處理 byte時非常有用的其他一些常量和方法。
3、 Character VS char
public final class Character extends Object implements Serializable, Comparable Character類在對象中包裝一個基本類型char的值。 Character類型的對象包含類型為char的單個欄位。此外,該類提供了幾種方法,以確定字元的類別(小寫字母,數字,等等),並將字元從大寫轉換成小寫,反之亦然。
4 、Double VS double
public final class Double extends Number implements Comparable Double類在對象中包裝了一個基本類型double的值。每個Double類型的對象都包含一個double類型的欄位。此外,該類還提供了多個方法,可以將double轉換為String,將String轉換為double,還提供了其他一些處理double時有用的常量和方法。
java中的封裝類
java編程思想中其實就提到了,還是做了一下總結:
1.基本類型只能按值傳遞,而每個基本類型對應的封裝類是按引用傳遞的。
2.從性能上說java中的基本類型是在堆棧上創建的,而所有的對象類型都是在堆上創建的,(對象的引用在堆棧上創建)。比如
Integer i=new Integer(10); 其中new Integer()是在堆上創建的,而他的引用Integer i是在堆棧上。 封裝類的出現,是為了更方便的使用一些基本類型不具備的方法,比如valueOf(),toString()等等。還有你如果想傳遞一個int對象的引用,而不是值,那隻能用封裝類。
在堆棧上分配內存的調用效率和在堆上分配內存的效率差太多了。雖然在堆棧上分配內存效率高,不過在堆棧上分配內存有內存泄露的問題。(這是一個平庸程序員基本解決不了的問題…)java用了一種很天才的方法提高了在堆上分配內存的效率,儘管如此,java還是慢。他不太可能達到向c++那麼快,儘管他一直在承諾總有一天虛擬機會和機器碼速度一樣快。
JDK5.0開始可以自動封包了 ,也就是基本數據可以自動封裝成封裝類,基本數據類型的好處就是速度快(不涉及到對象的構造和回收),封裝類的目的主要是更好的處理數據之間的轉換,方法很多,用起來也方便。
當然,封裝類型的傳遞是引用傳遞,比如
Integer a = new Integer(1);
表示一個Integer類型的引用a引用了一塊內存,這塊內存中的數據是1; 而a中所存的則是這塊內存的引用(地址),把a傳給別的方法或對象時,則是把a的引用傳遞過去了。
類型之間的轉換:
String b = “123456”;
int c = Integer.parseInt(b);
表示把字元串123456轉成整型數字,其中parseInt是靜態方法,可以直接使用
還有一點,在某些場合,需要用到封裝類,比如一個集合List,它只能往裡面添加對象,也就是Object,那麼直接存數字肯定是不行 的,則需要將數字封裝成封裝類型對象再存到該List中,如
List list = new ArrayList();
list.add(new Integer(1));
list.add(new Integer(2));
list.add(new Integer(3));
list.add(new Integer(4));
JDK5.0以後可以自動封包,所以可以簡寫成
List list = new ArrayList();
list.add(1);
list.add(2);
list.add(3);
list.add(4);
JAVA中什麼是封裝類,如何使用?
java中的封裝類是基本類型的封裝成對象。
使用方法:
package wrapper;
public class IntegerTest1 {
public static void main(String[] args)
{
Integer i=new Integer(123);
byte b=i.byteValue();
double d=i.doubleValue();
System.out.println(“將Integer封裝類轉換為 byte值為:”+b);
System.out.println(“將Integer封裝類轉換為 double值為:”+d);
String s1=Integer.toBinaryString(i);
String s2=Integer.toOctalString(i);
String s3=Integer.toHexString(i);
System.out.println(“轉換為二進位的值為:”+s1);
System.out.println(“轉換為八進位的值為:”+s2);
System.out.println(“轉換為十六進位的值為:”+s3);
}
}
Java中類的封裝是如何實現的
封裝是將對象的信息隱藏在對象內部,禁止外部程序直接訪問對象內部的屬性和方法。
java封裝類通過三個步驟實現:
(1)修改屬性的可見性,限制訪問。
(2)設置屬性的讀取方法。
(3)在讀取屬性的方法中,添加對屬性讀取的限制。
什麼是Java的封裝類
封裝類,就是為了方便使用,方便解釋,方便使用,規定很多方法,記得常用的幾個在以後的編程中大有用處,還可以觸類旁通,不用記太多,也不用覺得太麻煩,以後編程編多了就好了,另一個就方便解釋,因為是面向對象的。所以方法都可以理解為被動語句,用一個實際的例子,「我打你」這個句子,用java這種面向對象的語言來說就是你.被打(我);人這種類就要定義被打這種方法此外人不僅被打,而且可以被罵,被說,被按排上學、工作等。所有的方法都會定義在被施加者(也可以說是賓語)所屬類身上。這是java面向對象的特點。正因為這樣每一個對象都應該有很多可以被施加的動作。包括具有基本類型這種特徵的對象,舉個例子:1這個整數,但我們可以把它看作任何一種1可以變化的形態(如字元,雙精,浮點),那麼所有針對這種形態的動作都可以實施到它身上,但這些動作要定義在類中(但簡單的數學的加減乘除就算了),通過對象來用。我們用漢語說叫被用,可以叫面向對象。純屬個人經驗,見笑了]
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/238166.html