Когда я читал книгу Java, автор сказал, что при разработке класса обычно небезопасно использовать equals() с наследованием. Например:
public final class Date {
public boolean equals(Object o) {
// some code here
}
}
В вышеприведенном классе мы должны положить final, поэтому другой класс не может наследовать от этого. И мой вопрос в том, почему это небезопасно, когда разрешить другому классу наследовать от этого?