本帖最后由 小冰块 于 2013-6-13 15:00 编辑
今天看毕老师将Map的时候忽然注意到他这么写:
Map<String,String> map = new HashMap<String,String>();
开始的时候我以为Map是父类,还在疑惑为什么要用多态,一翻API才发现Map是接口
(我是有多后知后觉,List,Iterator都是接口,之前也一直都是这么写的,却没有注意到)
但是不论我怎么搜,网上或者API文档给出的接口使用格式都是implements(实现),从来没说可以直接将接口引用指向以实现类的对象。
所以我就好奇为什么接口可以这么用,那我们以后写程序的时候什么情况下可以不用实现接口,而是直接用接口定义对象?只要有已实现类就可以吗?那和我们用以实现类直接定义对象又有什么区别呢?
|
|