Почему equals не обязательно реализовывать в java.util.Comparator?

Как в Javadoc, так и в самом коде интерфейс Comparator определяет:

 int compare(T o1, T o2);
 boolean equals(Object obj);

Но тогда это не создает проблем при компиляции:

 Comparator a = new Comparator() {      
     @Override public int compare(Object o1, Object o2) {
        //..
     }
 };

Но это:

 Comparator a = new Comparator() {      
     @Override public boolean equals(Object comparator) {
        //..
     }
 };

Как это сделано для интерфейса, чтобы мы не могли переопределить метод?

15
задан Whimusical 1 August 2012 в 11:11
поделиться