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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 莫斯科的眼泪 中级黑马   /  2013-12-5 16:24  /  1496 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

在java的API中有一个java.util  接口 Iterator<E>  里面有三个方法,hasNext()next(), remove() ;为什么使用Iterator接口时可以可以直接调用里面的方法,不用覆盖(接口中的方法不都是抽象的方法吗?子类需要实现接口在覆盖其中的方法才可调用的吗?)谢了 !小弟纠结了好久!还有Iterator的内部类的问题。

评分

参与人数 1技术分 +1 收起 理由
狼王 + 1 很给力!

查看全部评分

4 个回复

倒序浏览
比如:
Iterator it = list.iterator();  声明了一个Iterator接口it,指向了list.iterator()这个对象,也是就这个对象是实现了Iterator接口的。再通过这个实例对象来调用其方法it.hasNext();  
我的理解是这样的。

评分

参与人数 1黑马币 +6 收起 理由
狼王 + 6 赞一个!

查看全部评分

回复 使用道具 举报
在此谢过
回复 使用道具 举报
Iterator 类是被内部类继承的(或者匿名内部类),集合的iterator()方法就是将集合内的实现Iterator 的类reruen出来再用Iterator 类接受(面向接口编程)。
希望对你有帮助!!!!!

评分

参与人数 1技术分 +1 黑马币 +3 收起 理由
狼王 + 1 + 3 赞一个!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马