A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 陈时峰 黑马帝   /  2011-11-9 19:12  /  2083 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

在视频中张老师经常强调要面向接口编程,如创建一个ArrayList集合
我一般习惯直接ArrayList<String> list = new ArrayList<String>();
老师则用 Collection<String> colletion = new ArrayList<String>();
这是一种向上转型,但是这样就无法调用子类的特殊方法。
请问这样的面向接口编程的好处在哪?

评分

参与人数 1技术分 +1 收起 理由
宁超 + 1 好处大大的。

查看全部评分

4 个回复

倒序浏览
这体现了多态的好处呀!!
就好像子类继承父类,用爷爷类创建一个引用指向孙子对象,调用方法时自动识别(毕老师的一句话,编译左看,运行右看),好处是大大的呀!

评分

参与人数 1技术分 +1 收起 理由
宁超 + 1 好处大大的。

查看全部评分

回复 使用道具 举报
用接口创建变量的好处在于可以变化实现类的实例对象。
如果你学到spring你就会明白为什么要用接口创建变量了。因为可以不变换对象名称就变换其所引用的对象。
回复 使用道具 举报
毕老师原话总结,你再仔细品味品味就能明白!
1,在多态中非静态成员函数的特点:
在编译的时候,参阅引用型变量所属类中是否有调用方法 ,  如有,就通过 ,没有,就失败。
在运行的时候,参阅对象所属类中是否有调用方法。
即编译看左边,运行看右边
2,在多态中成员变量或者静态成员函数的特点:
无论编译还是运行都参考左边(引用型变量所属类)。
回复 使用道具 举报
好处很多!这样实现了多态,也实现了接口的功能啊!只要是实现Collection接口的,都可以通过new来创建一个不同的集合啊!所以好处是大大滴嘛!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马