首页 新闻 会员 周边 捐助

关于接口能不能new的问题?原理机制。。。

0
悬赏园豆:5 [已解决问题] 解决于 2012-12-25 16:32

总所周知,接口直接是不能new的。

但接口可以使用实现其接口的引用:

List<String> list=new ArrayList<String>();

我主要是不知道这样做的原理机制,好处

不要告诉我面向接口编程这样的大话。

求高手解答、讨论。

十目隐的主页 十目隐 | 初学一级 | 园豆:70
提问于:2012-11-30 20:48
< >
分享
最佳答案
0

接口有点像行业标准,把标准定好了,可以有不同的实现。像数据库连接connection就是接口。

可以有mysql和oracle的实现。

收获园豆:5
angelshelter | 大侠五级 |园豆:9914 | 2012-12-10 12:57
其他回答(1)
0

个人理解不深,只觉得下面几点...

1.一种约束,一个具体的类可以实现多个接口,每个接口功能不一样,如同时实现 IComparer 排序,IComparable比较,哪个接口的引用将拥有不同的功能。现实生活中,如有一个 理发师接口 和一个 司机接口,理发师执照的说明他可以理发,有驾照的可以开车,有的人厉害可以有两种,它都可以,有的人没有驾照,那他就不应该开车,是违法的,因为这是一种约束,是功能的体现。

2.多态,就是不同的实现,IComparer一个排序接口,我可以实现 倒序、升序 等等不同实现。现实中 一个驾照接口,都的B照、有的是C照等等...

3.一个对接口的引用,如类型是接口,参数、变量等等,可以说出于上面两点的考虑。

Qlin | 园豆:2403 (老鸟四级) | 2012-11-30 21:54
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册