黑马程序员技术交流社区
标题:
面向接口编程问题
[打印本页]
作者:
陈时峰
时间:
2011-11-9 19:12
标题:
面向接口编程问题
在视频中张老师经常强调要面向接口编程,如创建一个ArrayList集合
我一般习惯直接ArrayList<String> list = new ArrayList<String>();
老师则用 Collection<String> colletion = new ArrayList<String>();
这是一种向上转型,但是这样就无法调用子类的特殊方法。
请问这样的面向接口编程的好处在哪?
作者:
刘永昌
时间:
2011-11-9 19:33
这体现了多态的好处呀!!
就好像子类继承父类,用爷爷类创建一个引用指向孙子对象,调用方法时自动识别(毕老师的一句话,编译左看,运行右看),好处是大大的呀!
作者:
梦女孩
时间:
2011-11-9 21:53
用接口创建变量的好处在于可以变化实现类的实例对象。
如果你学到spring你就会明白为什么要用接口创建变量了。因为可以不变换对象名称就变换其所引用的对象。
作者:
肖瑞军
时间:
2011-11-9 22:31
毕老师原话总结,你再仔细品味品味就能明白!
1,在多态中非静态成员函数的特点:
在编译的时候,参阅引用型变量所属类中是否有调用方法 , 如有,就通过 ,没有,就失败。
在运行的时候,参阅对象所属类中是否有调用方法。
即编译看左边,运行看右边
2,在多态中成员变量或者静态成员函数的特点:
无论编译还是运行都参考左边(引用型变量所属类)。
作者:
胡文杰
时间:
2011-11-9 22:44
好处很多!这样实现了多态,也实现了接口的功能啊!只要是实现Collection接口的,都可以通过new来创建一个不同的集合啊!所以好处是大大滴嘛!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2