java封裝類,java封裝類有哪些

本文目錄一覽:

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-hk/n/238166.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 12:09
下一篇 2024-12-12 12:09

相關推薦

  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java Bean加載過程

    Java Bean加載過程涉及到類加載器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean加載的過程。 一、類加載器 類加載器是Java虛擬機…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發佈。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Python 常用數據庫有哪些?

    在Python編程中,數據庫是不可或缺的一部分。隨着互聯網應用的不斷擴大,處理海量數據已成為一種趨勢。Python有許多成熟的數據庫管理系統,接下來我們將從多個方面介紹Python…

    編程 2025-04-29
  • Java判斷字符串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字符串中是否存在多個指定字符: 一、字符串遍歷 字符串是Java編程中非常重要的一種數據類型。要判斷字符串中是否存在多個指定字符…

    編程 2025-04-29
  • VSCode為什麼無法運行Java

    解答:VSCode無法運行Java是因為默認情況下,VSCode並沒有集成Java運行環境,需要手動添加Java運行環境或安裝相關插件才能實現Java代碼的編寫、調試和運行。 一、…

    編程 2025-04-29
  • Python通配符有哪些

    Python通配符是一種表示字符串中模糊匹配的有效工具,用於匹配與具有特定模式匹配的字符串。Python中主要的通配符有:*,?,[]和{}。 一、星號通配符 * 在Python中…

    編程 2025-04-29

發表回復

登錄後才能評論