欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

java中的list和arraylist有什么區(qū)別

今天就跟大家聊聊有關(guān)java中的list和arraylist有什么區(qū)別,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

為察哈爾右翼中旗等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及察哈爾右翼中旗網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都網(wǎng)站設(shè)計、成都網(wǎng)站制作、察哈爾右翼中旗網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!

區(qū)別:

List是一個接口,而ArrayList是List接口的一個實現(xiàn)類。ArrayList類繼承并實現(xiàn)了List接口。

因此,List接口不能被構(gòu)造,也就是我們說的不能創(chuàng)建實例對象,但是我們可以像下面那樣為List接口創(chuàng)建一個指向自己的對象引用,而ArrayList實現(xiàn)類的實例對象就在這充當了這個指向List接口的對象引用。

Animals.java
public  abstract class Animals {
    //動物名字
    String name;
    //動物叫聲
    public  void shout(){
        System.out.println("叫聲----");
    }
}

Dog.java
public class Dog extends Animals {
    //狗類獨有的方法
    public void guard(){
        System.out.println("狗獨有的看門本領(lǐng)");
    }
}

Test.java
public class Test {

    public static void main(String[] args) throws ClassNotFoundException {
        Animals a1 = new Animals();
        Animals a2 = new Dog();
    }
}

java中的list和arraylist有什么區(qū)別

List list;//正確,list = null;
List list = new List();//是錯誤的用法

List list = new ArrayList();

這句創(chuàng)建了一個ArrayList實現(xiàn)類的對象后把它上溯到了List接口。此時它就是一個List對象了,它有些ArrayList類具有的,但是List接口沒有的屬性和方法,它就不能再用了,而

ArrayList list=newArrayList();

創(chuàng)建一對象則保留了ArrayList的所有屬性和方法。

Test.java
public class Test {

    public static void main(String[] args) throws ClassNotFoundException {
        Animals a2 = new Dog();
        a2.shout();
        a2.guard();
    }
}

java中的list和arraylist有什么區(qū)別

父類不能再調(diào)用父類出現(xiàn)而子類沒有出現(xiàn)的方法。否則會編譯出錯。

如果是下面這個樣子的:

List a=new ArrayList();

則a擁有List的所有屬性和方法,不會擁有其實現(xiàn)類ArrayList的獨有的屬性和方法。

如果List與ArrayList中有相同的屬性(如int i),有相同的方法(如void f()),

則a.i是調(diào)用了List中的i,a.f()是調(diào)用了ArrayList中的f();

問題的關(guān)鍵:

為什么要用 List list = new ArrayList() 而不用 ArrayList alist = new ArrayList()呢?

問題就在于List接口有多個實現(xiàn)類,現(xiàn)在你用的是ArrayList,也許哪一天你需要換成其它的實現(xiàn)類,如:

LinkedList或者Vector等等,這時你只要改變這一行就行了: List list = new LinkedList(); 其它使用了list地方的代碼根本不需要改動。

假設(shè)你開始用ArrayList alist = new ArrayList(), 這下你有的改了,特別是如果你使用了ArrayList實現(xiàn)類特有的方法和屬性。

看完上述內(nèi)容,你們對java中的list和arraylist的區(qū)別有進一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。

網(wǎng)站欄目:java中的list和arraylist有什么區(qū)別
本文URL:http://chinadenli.net/article26/jggejg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作網(wǎng)站導(dǎo)航網(wǎng)站設(shè)計公司響應(yīng)式網(wǎng)站微信小程序網(wǎng)頁設(shè)計公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運營