亚洲最大看欧美片,亚洲图揄拍自拍另类图片,欧美精品v国产精品v呦,日本在线精品视频免费

  • 站長資訊網(wǎng)
    最全最豐富的資訊網(wǎng)站

    分析Java的復(fù)雜數(shù)據(jù)類型

     

      我們將針對(duì)Java語言中的復(fù)雜數(shù)據(jù)類型進(jìn)行講解。其中涉及到的內(nèi)容有初始化過程、默認(rèn)初值和某些針對(duì)復(fù)雜數(shù)據(jù)類型的操作。

     

      1、數(shù)據(jù)類型的初始化

      復(fù)合數(shù)據(jù)類型由構(gòu)造器內(nèi)定義的代碼實(shí)現(xiàn)初始化,構(gòu)造器在類的創(chuàng)建函數(shù)(比如”new”之類)應(yīng)用到類變量的時(shí)候被調(diào)用。構(gòu)造器被調(diào)用之前,類的各個(gè)成員被初始化為各自的默認(rèn)值或者顯式賦予的初值。清單B 中的程序代碼對(duì)以上過程進(jìn)行了解釋。

      在清單B的代碼中,當(dāng)myClass 的實(shí)例用new 運(yùn)算符創(chuàng)建時(shí),構(gòu)造器public MyClass()即被調(diào)用促使類對(duì)自身初始化。初始化的過程如下所示:

      聲明”int myInt;”給myInt賦默認(rèn)值0.

      聲明”AnotherClass anotherClass;”給anotherClass分配默認(rèn)值null.

      構(gòu)造器內(nèi)的聲明”myint = 2;”給myInt賦值為2.

     

      2、接口

      接口(interface)好比一種模版,這種模版定義了對(duì)象必須實(shí)現(xiàn)的方法,其目的就是讓這些方法可以作為接口實(shí)例被引用。接口不能被實(shí)例化。類可以實(shí)現(xiàn)多個(gè)接口并且通過這些實(shí)現(xiàn)的接口被索引。接口變量只能索引實(shí)現(xiàn)該接口的類的實(shí)例。比方說,假設(shè)我們定義了一個(gè)接口,名字是Comparable ,同時(shí)還定義了一個(gè)類SortItem,這個(gè)類實(shí)現(xiàn)了接口Comparable,那么我們可以編寫以下的定義代碼:

     

      Comparable c = new SortItem();

     

      假如Comparable 接口定義了一個(gè)方法:public void compare(Comparable item), 那么SortItem 類就必須提供compare 方法的實(shí)現(xiàn),如以下代碼所示:

     

      public class SortItem implements Comparable

      {

      public void compare(Comparable item)

      {…method implementation here}}

     

      3、類

      類(Class)指的是定義方法和數(shù)據(jù)的數(shù)據(jù)類型。從內(nèi)部來看,JVM通常把class類型對(duì)象實(shí)現(xiàn)為指向方法和數(shù)據(jù)的一套指針。定義class類型的變量只能引用類的實(shí)例或者null ,如以下代碼所示:

     

      MyObject anObject = new MyObject(); // 合法

      MyObject anotherObject = null; // 合法

      MyObject stillAnotherObject = 0; // 非法

     

      4、索引

      同簡(jiǎn)單數(shù)據(jù)類型的定義一樣,Java虛擬機(jī)(JVM)還定義了索引(reference)這種數(shù)據(jù)類型。索引類型可以”引用”變量,由于Java沒有明確地定義指針類型,所以索引類型可以被認(rèn)為就是指向?qū)嶋H值或者指向變量所代表的實(shí)際值的指針。一個(gè)對(duì)象可以被多于一個(gè)以上的索引所”指”.JVM從不直接對(duì)對(duì)象尋址而是操作對(duì)象的索引。

      索引類型分成三種,它們是:類(class)、接口(interface)和數(shù)組(array)。索引類型可以引用動(dòng)態(tài)創(chuàng)建的類實(shí)例、普通實(shí)例和數(shù)組。索引還可以包含特殊的值,這就是null 索引。null 索引在運(yùn)行時(shí)上并沒有對(duì)應(yīng)的類型,但它可以被轉(zhuǎn)換為任何類型。索引類型的默認(rèn)值就是null.

     

      5、數(shù)組

      Java數(shù)組(array)是動(dòng)態(tài)創(chuàng)建的索引對(duì)象,這一點(diǎn)和類非常相似,此外,同類一樣,數(shù)組只能索引數(shù)組的實(shí)例或者null ,如以下代碼所示:

     

      int[] myIntArray = new int[5];

      int[] anotherIntArray = null;

     

      數(shù)組是Object類的繼承,這樣,Object類的所有方法都可以被數(shù)組調(diào)用。數(shù)組對(duì)象由元素組成。元素的數(shù)目也可以為0,在這種情況下稱做數(shù)組為空。所有的數(shù)組都是從0開始對(duì)元素編號(hào)的,這意味著數(shù)組內(nèi)的第1個(gè)元素的索引編號(hào)是數(shù)字0.所有對(duì)數(shù)組元素的訪問都會(huì)在運(yùn)行時(shí)上接受檢查,如果試圖使用編號(hào)小于0或者大于數(shù)組長度來索引元素就會(huì)產(chǎn)生ArrayIndexOutOfBoundsException異常并被扔出。

      數(shù)組的元素按整型值索引,如以下代碼所示:

     

      int[] myIntArray = { 9, 5, 6 };

      int int1 = myIntArray[0];

      int int2 = myIntArray[1];

      int int3 = myIntArray[2];

     

      數(shù)組對(duì)象的長度是不變的。為了改變數(shù)組變量的長度,你必須創(chuàng)建另一個(gè)數(shù)組并賦給變量,如以下代碼所示:

     

      int[] myIntArray = { 9, 5, 6 };

      System.out.println(“myIntArray length = ” +myIntArray.length); // 輸出結(jié)果是3

      myIntArray = new int[] { 3, 6, 4, 2, 8 };

      System.out.println(“myIntArray length = ” +myIntArray.length); // 輸出結(jié)果是5

     

      小結(jié):除了簡(jiǎn)單數(shù)據(jù)類型之外,Java語言中還定義了本文所討論三種索引數(shù)據(jù)類型。Java還運(yùn)行開發(fā)人員自己用簡(jiǎn)單和索引數(shù)據(jù)類型組合起來創(chuàng)建復(fù)合數(shù)據(jù)類型。用戶定義的組合數(shù)據(jù)類型和Java預(yù)定義復(fù)合數(shù)據(jù)類型一道為程序員提供了強(qiáng)大的面向?qū)ο蠊ぞ甙?/span>

     

    贊(0)
    分享到: 更多 (0)
    網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)