黑马程序员技术交流社区

标题: 关于接口的问题?求讲解 [打印本页]

作者: 目标    时间: 2014-3-12 23:25
标题: 关于接口的问题?求讲解
今天看集合毕姥爷说了一句话是:接口的引用只能指向自己的子类对像,为什么呢?求解释eg:Iterator it = al1.iterator( );


作者: duanyoujiji    时间: 2014-3-13 00:17
你看看这个,我查了半天,这个说法容易理解http://zhidao.baidu.com/question/112673407.html?fr=qrl&index=0&qbl=topic_question_0&word=Iterator%20%D4%F5%C3%B4%CA%B5%CF%D6%BD%D3%BF%DA
作者: 林梦    时间: 2014-3-13 00:28
这是返回的一个直接实现对象  内部已经implements Iterator 了 你可以这样理解  已经实现的子类以多态的方式接受
  1. Iterator it =  new Iterator(){public boolean hasNext(){}
  2.                                                 public E next(){}
  3.                                                 public void remove(){}};
复制代码

作者: 王浩龙    时间: 2014-3-13 08:34
我的理解是接口的子类的父类就是接口,在多态中父类引用是可以指向自己的子类对象的,所以接口也可以只想自己的子类对象。这里要考虑的问题是子类是不是可以创建对象。
作者: 午夜b'Boy    时间: 2014-3-13 08:55
接口是实现此接口的父类,有继承关系,所以接口才能指向其子类,此为多态,没关系,彼此不认识,也就没任何联系
作者: 张贺    时间: 2014-3-13 09:20
因为接口只能声明,不能实例化,而接口本质上也是类(只是可以实现多继承),他不能自己实例化,就只能实例化他的实现类(子类)了!
作者: 75100313    时间: 2014-3-13 15:27
接口不能实例化  只能指向子类 对象  这就是传说中的多态




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2