Java中的基礎資料型別 (Elementary Data Type)及其封裝類

來源:互聯網
上載者:User

標籤:ext   直接   類型   ati   prim   物件導向   空間   static   關鍵字   

    Java中的資料類型有兩種,基礎資料型別 (Elementary Data Type)和引用資料類型,引用資料類型的建立是

需要去new一個對象,該對象的記憶體配置在堆區,同時棧區會儲存一個指向該對象的引用,

但是對於一些簡單資料的建立,用new的方式就不是很有效了,因此JVM中定義了一套對於基本

資料類型的描述,它直接儲存值到堆棧當中,而不需要在堆中建立對象。

    Java需要確定每種基礎資料型別 (Elementary Data Type)所佔空間的大小,而且他們所佔空間的大小是固定不變

的,這也是java具有高移植性的一個原因,下面是java中所定義的9中基礎資料型別 (Elementary Data Type)及其封裝類:

 

由於基礎資料型別 (Elementary Data Type)是非物件導向的,因此java為基本類型提供了封裝類,使我們可以採用物件導向的方式操作基礎資料型別 (Elementary Data Type),

同時這些類中也封裝了很多可以供我們使用的實用方法。

    此時有的小夥伴會發現void也是未經處理資料類型??還有封裝類Void??下面來看看Void類的代碼:

package java.lang;/** *這段話的意思就是Void類是一個不可執行個體化的預留位置類,它持有對標識Java關鍵字void的Class對象的引用。 * The {@code Void} class is an uninstantiable placeholder class to hold a * reference to the {@code Class} object representing the Java keyword * void. * * @author  unascribed * @since   JDK1.1 */public finalclass Void {    /**     *     * The {@code Class} object representing the pseudo-type corresponding to     * the keyword {@code void}.     *這句代碼可以理解為返回void基礎資料型別 (Elementary Data Type)的封裝類Void,這句代碼在其他封裝類的源碼中都有出現     *且getPrimitiveClass()方法是native的,不能java中實現,暫且如此理解     */    public static final Class<Void> TYPE = Class.getPrimitiveClass("void");    /*     * The Void class cannot be instantiated.     */    private Void() {}}

    因此可以理解:Void類可能本身作用就只是不起任何作用,但是本身只是一個預留位置類。即Void類本身只是一個預留位置類,不能被實

例化,多用於泛型中作預留位置使用。而對於基礎資料型別 (Elementary Data Type)void,它的含義應該就是‘沒有東西’,例如表示傳回值,就表示沒有傳回值。。。

應該可以這樣理解


Java中的基礎資料型別 (Elementary Data Type)及其封裝類

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.