JDK帮助文档中写的是Iterator是个接口,它有三个方法,hasNext(),next()和remove()三个方法,但是,在接口中方法是不能被实现的。当我们ArrayList al = new ArrayList();al.iterator();可以返回在al上的迭代器;然后此迭代器就可以调用Iterator中得三个方法了。可是这三个方法在什么地方被重写了啊。为什么就可以直接调用呢??
迷惑中,求高手指点迷津!!!
大家看看,我这样理解对不对:实际上al.iterrator();运行后返回的是,java.beans.beancontext.BeanContextSupport.BCSIterator,这个类的一个实例对象,也就是所谓的迭代器;由于对象的多态性,所以可以:Iterator it = al.iterator();并且调用:it.hasNext();it.next();