Кажется, что когда у меня есть абстрактный класс, который реализует интерфейс, интерфейс не воспринимается основным классом, который расширяет мой абстрактный класс:
Когда я использую это:
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, также не должныреализовать интерфейс?