我正在尝试为ArrayList实现Iterator.我有一个ArrayList的接口,我也希望它实现Iterator,所以我可以在实际的ArrayList类中提供实现.界面如下:
public interface AListInterface<T> extends Iterator<T> {
       add();
       remove();
       ......
}
但是我收到错误说我必须导入java.util.Iterator.所以我很困惑,我想曾经导入过一个类,然后我可以使用已经实现的所有方法,如扫描仪.那么导入Iterator接口的重点是什么呢?同时还需要提供实现?
而且,如果我将AListInterface的标题更改为:
public interface AListInterface<T> extends Iterable<T> { }
它编译得很好,为什么可以扩展Iterable而不是Iterator?
为什么不能接口
extends Iterator?
它可以.例如,参见java.util.ListIterator.
但我得到的错误说我必须导入
java.util.Iterator.
所以导入它.
所以我很困惑
我同意.
我想曾经导入过一个类,然后我可以使用已经实现的所有方法,如扫描仪.
不,它主要意味着您可以无限制地使用该类的名称.
那么导入Iterator接口有什么意义呢
所以你可以Iterator不用限定地使用这个名字.
同时还需要提供实施?
你没有.你正在定义一个界面.无需方法实现.提供方法实现与导入无关.
为什么延伸
Iterable而不是Iterator?
因为你必须已经导入它.
| 归档时间: | 
 | 
| 查看次数: | 70 次 | 
| 最近记录: |