好像当我有一个实现接口的抽象类时,该接口不会被扩展我的抽象类的主类拾取:
当我使用这个:
public abstract class MusicIntCollection implements Iterator<Integer>{...}
我无法遍历StepIndexCollection的实例:
public class StepIndexCollection extends MusicIntCollection{...}
但是,当我创建这个时:
public class StepIndexCollection extends MusicIntCollection implements Iterator<Integer>{...}
...我可以遍历StepIndexCollection的实例。
这是我要迭代的方式:
this.notes = new StepIndexCollection();
for (int i : o.notes()) {
this.notes.add(i);
}
有没有一种方法可以使它在抽象类中起作用,所以扩展我的MusicIntCOllection的所有特定类类型也不必实现该接口?
最佳答案
您正在实现Iterator
接口,而不是Iterable
接口。如果您使类实现Iterable
,则可以使用增强的for
循环语法。