Interface Iterator
Использую Eclipse IDE. С java я новичок. Итак, поехали!
Документация говорит, что в интерфейсе Iterator есть три метода:
boolean hasNext(); E next(); void remove();
Я создаю класс Wtf, реализующий данный интерфейс, после чего жму "add unemplemented methods". Вот что получаю:
package wtf;
import java.util.Iterator;
public class Wtf implements Iterator<Integer>
{
@Override
public boolean hasNext() {
// TODO Auto-generated method stub
return false;
}
@Override
public Integer next() {
// TODO Auto-generated method stub
return null;
}
public static void main (String... args){
System.out.println("WTF?");
}
}
Мало того, что среда не добавила remove(), так код ещё и работает!!! Тогда я подумал про ошибку в документации, ну мало ли... Добавил в класс следующие строчки кода:
@Override
public void remove(){
}
И опять всё замечательно!!! Т.е. метод remove() есть в данном интерфейсе, но я его могу не определять в реализующем данный интерфейс классе!!! Что скажите по этому поводу, уважаемые программисты? :)