91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java中的list和arraylist有什么區別

發布時間:2020-06-26 14:55:41 來源:億速云 閱讀:1656 作者:Leah 欄目:編程語言

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

區別:

List是一個接口,而ArrayList是List接口的一個實現類。ArrayList類繼承并實現了List接口。

因此,List接口不能被構造,也就是我們說的不能創建實例對象,但是我們可以像下面那樣為List接口創建一個指向自己的對象引用,而ArrayList實現類的實例對象就在這充當了這個指向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("狗獨有的看門本領");
    }
}

Test.java
public class Test {

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

java中的list和arraylist有什么區別

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

List list = new ArrayList();

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

ArrayList list=newArrayList();

創建一對象則保留了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有什么區別

父類不能再調用父類出現而子類沒有出現的方法。否則會編譯出錯。

如果是下面這個樣子的:

List a=new ArrayList();

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

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

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

問題的關鍵:

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

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

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

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

看完上述內容,你們對java中的list和arraylist的區別有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

雅江县| 青铜峡市| 绥江县| 庐江县| 增城市| 章丘市| 固始县| 广饶县| 东丽区| 米泉市| 岑巩县| 泰州市| 乌拉特中旗| 巩义市| 澎湖县| 封丘县| 城固县| 兴和县| 潜江市| 克拉玛依市| 滕州市| 始兴县| 琼海市| 桐梓县| 土默特右旗| 巴中市| 同德县| 昂仁县| 太白县| 永城市| 社旗县| 秭归县| 定南县| 河津市| 读书| 绥德县| 陆川县| 泗阳县| 阜新| 绍兴市| 吴忠市|