Java调用Iterator接口的问题

「已注销」 2017-11-20 06:06:21
请问下各位大神。为什么用Arraylist方法实例化一个Iterator对象后,但是在ArrayList类里面也没有看到对Iterator接口定义的方法的覆写,却可以直接使用Iterator接口里面定义的方法。

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class TestDemo_1 {
public static void main(String[] args) throws Exception {
List<String> list = new ArrayList<String>();
list.add("ni hao");
list.add("hello");
list.add("hello");
list.add("world");
Iterator<String> ite = list.iterator();
while(ite.hasNext()) {
String str = ite.next();
System.out.println(str);
}
}
}
...全文
113 5 点赞 打赏 收藏 举报
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
「已注销」 2017-11-21
感谢两位的指导!
  • 打赏
  • 举报
回复
没有什么必然的关系吧。方法的返回值是其他接口类型,不一定非要内部类实现
  • 打赏
  • 举报
回复
「已注销」 2017-11-20
哦 谢谢大神指点,刚自己看了源码,找到了这个内部类的定义,非常感谢! 还有一点请问下,是不是只要在Java文档中,当某个类中定义的方法的返回值是其他接口类型时,是否该类里面都定义有内部类,来实现这个接口的方法呢?
  • 打赏
  • 举报
回复
「已注销」 2017-11-20
请问下载文档里面,怎么查看到ArrayList的内部类呢? 谢谢
  • 打赏
  • 举报
回复
李德胜1995 2017-11-20
list.iterator();返回的是ArrayList的内部类Itr,该类实现了Iterator接口。。。。。
  • 打赏
  • 举报
回复
相关推荐
发帖
Java SE
加入

6.2w+

社区成员

Java 2 Standard Edition
申请成为版主
帖子事件
创建了帖子
2017-11-20 06:06
社区公告
暂无公告