码迷,mamicode.com
首页 > 其他好文 > 详细

关于ArrayList中的iterator返回的事迭代器实例问题。

时间:2017-05-18 11:26:28      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:cat   内部类   turn   方法   new   ret   父类   abs   没有   

Arraylist是一个具体的类,它并没有定义它自己的iterator()方法,,它只是从AbstractList 这个抽象类中继承了iterator()这个方法,而AbstractList 中的iterator()方法的定义是    public Iterator<E> iterator() 
它的源代码是  

 public Iterator<E> iterator() {
         return new Itr();
          }
其中,Itr为AbstractList 这个抽象类中定义的 内部类,,它的定义为::
 private class Itr implements Iterator<E>{...............}
那么List cats = new ArrayList( );
        Iterator e = cats.iterator( );
则这个cats.iterator()生成的应该是Itr这个实现了Iterator接口的内部类的对象,,
因为父类的引用能够指向任何它的子类的对象,,所以上面那样写完全正确

关于ArrayList中的iterator返回的事迭代器实例问题。

标签:cat   内部类   turn   方法   new   ret   父类   abs   没有   

原文地址:http://www.cnblogs.com/xiaomaozi168/p/6871907.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!