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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  Iterator it = a.iterator( );
既然返回一个借口,借口怎么会有hasNext()方法。借口不是只有抽象方法吗?
怎么能够调用hasNext()方法呢?

评分

参与人数 1技术分 +1 收起 理由
杨佳名 + 1

查看全部评分

24 个回复

倒序浏览
想想接口实现和多态的概念
回复 使用道具 举报
Iterator it = a.iterator( );
左边是接口,但右边是接口的实现对象。
比如:List list = new ArrayList();
List也是接口

评分

参与人数 1技术分 +1 收起 理由
杨佳名 + 1

查看全部评分

回复 使用道具 举报 2 0
fantacyleo 发表于 2015-3-20 13:10
想想接口实现和多态的概念

嗯!回头看看视频,理解更深刻了些!
回复 使用道具 举报
hamesksk 发表于 2015-3-20 13:38
Iterator it = a.iterator( );
左边是接口,但右边是接口的实现对象。
比如:List list = new ArrayList(); ...

嗯!谢谢!回头看了看视频,理解更家深刻些了!
回复 使用道具 举报
是可以引用<接口>的引用使用多态承载返回的迭代器对象(内部)
回复 使用道具 举报
楼主好好复习一下多态那里吧 :lol
回复 使用道具 举报
女神从来不加班 发表于 2015-3-20 16:04
楼主好好复习一下多态那里吧

嗯!又回头看了看视频,理解了!
回复 使用道具 举报
这个就是父接口引用子类对象啊
回复 使用道具 举报
iterator的源码:
public Iterator<E> iterator() {
        return new Itr();
    }
这里Itr为Iterator的一个内部类, Itr implements Iterator。
Iterator it = a.iterator(); 这里其实是,体现了多态特性。希望能帮助到您。
回复 使用道具 举报
父类引用指向子类对象,编译看左边,运行看右边,多态的特征
回复 使用道具 举报
a.iterator其实就是其Iterator具体的实现类了,用该类调用其自身的方法,是完全正确的,我之前也有你这样的疑惑,后来看了API才明白的!
回复 使用道具 举报
wkz_crystal 发表于 2015-3-22 02:27
a.iterator其实就是其Iterator具体的实现类了,用该类调用其自身的方法,是完全正确的,我之前也有你这样的 ...

嗯~重点在于理解吧!
回复 使用道具 举报
它利用了多态,Iterator本身是一个接口,但是它指向了一个实现它的实例
回复 使用道具 举报
是多态,接口引用指向子类对象
回复 使用道具 举报
android-liu 发表于 2015-3-25 14:44
是多态,接口引用指向子类对象

嗯!谢谢!我已经搞明白了!
回复 使用道具 举报
法国外籍军团 来自手机 中级黑马 2015-3-25 22:04:53
17#
这就是一个多态的概念   返回的是一个具体的实现,
回复 使用道具 举报
:)嗯!谢谢!!
回复 使用道具 举报
多态呗.也才看到,晕糊了半天才搞明白
还有  就是  Iterator   和  ListIterator  这两个接口的区别:
一个父类  方法只有3 个  next()  hasNext()  remove()
一个子类  方法多些.可以添加,删除   
回复 使用道具 举报
山里孩子 发表于 2015-3-26 22:41
多态呗.也才看到,晕糊了半天才搞明白
还有  就是  Iterator   和  ListIterator  这两个接口的区别:
一个父 ...

嗯!!重要的是一种面向对象的思想!
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马