接口Interface不是没有方法的实现吗?那么调用它的成员方法怎么还能实现相应的功能呢?有点想不通?如下:
Iterator it = collection.iterator();
while(it.hasNext()) {
Object obj = it.next();
}
上面的collection是个接口,怎么可以调用它的方法iterator()来实现功能?
还有,Iterator接口的一个成员方法是next():Returns the next element in the iteration.
如果按jdk的这个解释,这个next()方法应该是实现了特定的功能了,也就是有方法的实现,那么它应该是个抽象类,而不应该是接口了啊!想不明白。。新手望帮助。
Iterator it = collection.iterator();
while(it.hasNext()) {
Object obj = it.next();
}
上面的collection是个接口,怎么可以调用它的方法iterator()来实现功能?
还有,Iterator接口的一个成员方法是next():Returns the next element in the iteration.
如果按jdk的这个解释,这个next()方法应该是实现了特定的功能了,也就是有方法的实现,那么它应该是个抽象类,而不应该是接口了啊!想不明白。。新手望帮助。
他调用的是你实际类型的方法
那么,我想问一下,对于Iterator这个接口,it用到了it.next(),那么到底是哪个类实现了这个接口?才使it能够使用并实现next()方法?
还是不太明白,请指教!
例如
List<String> list=new ArrayList<String>();
Iterator it=list.iterator();
那么他就调用ArrayList的