Ya sea en Javadoc, así como el propio código, interfaz Comparador define:¿Por qué no es obligatorio implementar iguales en java.util.Comparator?
int compare(T o1, T o2);
boolean equals(Object obj);
Pero entonces esto da no hubieron problemas compilating:
Comparator a = new Comparator() {
@Override public int compare(Object o1, Object o2) {
//..
}
};
pero esto:
Comparator a = new Comparator() {
@Override public boolean equals(Object comparator) {
//..
}
};
Cómo Está hecho para la interfaz para permitirnos no anular el método?
había leído la segunda parte, pero quiero decir, se está extendiendo una interace también objeto como un ejemplo newable normal, entonces? ¿O quiere decir que una interfaz conoce qué métodos ya podrían implementarse en algún objeto para que no los fuerce? – Whimusical
@ user1352530 en realidad, tampoco. La interfaz no tiene conocimiento de 'Object'. Pero cuando implementa una interfaz, siempre hereda, directa o indirectamente, de 'Objeto'. Esto significa que ya heredó 'equals()' y otros, por lo que el compilador no se queja. Por otro lado, tenga en cuenta que cuando tiene una instancia de cualquier interfaz, puede llamar a cualquier método 'Object', no a los métodos de esa interfaz en particular. –
¡Buena respuesta, útil! – Whimusical