List 为什么可以实例化ArrayList
昨天我?guī)У囊粋€(gè)同事問我List 為什么可以實(shí)例化ArrayList,剛開始一下萌了(帶了快 2個(gè)月了)
比如List list = new ArrayList();
List 是一個(gè)接口, 接口使用的使用不能實(shí)例化自己,
也就是我們沒有見過List list = new List(); ,這個(gè)為啥不能呢,因?yàn)樗皇且粋€(gè)類啊,在這說了語法上也不能這樣寫啊,寫了肯定報(bào)錯(cuò)啊, 為啥可能實(shí)例化ArrayList 呢, 因?yàn)锳rrayList 是一個(gè)類啊,還有就是它實(shí)現(xiàn)了List這個(gè)接口了,
可以看下源碼呢
List 的
ArrayList的
說到這里看他似乎明白了點(diǎn),我寫了一個(gè)例子如下
寫一個(gè)接口如下
public interface MyList {void test();
}
在寫一個(gè)類實(shí)現(xiàn)這個(gè)接口如下
public class MyClass implements MyList {@Overridepublic void test() {}}
在使用的地方寫法如下
MyList myList = new MyClass();myList.test();
這個(gè)就是我們常見的List list = new ArrayList();
當(dāng)然我們?nèi)绻皇鞘褂蒙厦骖怣yClass里面的方法可以
MyClass myClass = new MyClass();myClass.test();
這個(gè)也就是我們常見的
ArrayList list = new ArrayList();
它們2個(gè)區(qū)別但是我沒說,不過今天我也總結(jié)了下
下篇博客在說吧.
總結(jié)
以上是生活随笔為你收集整理的List 为什么可以实例化ArrayList的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java 实例化的理解
- 下一篇: Java List与ArrayList