Dlaczego nie powinienem używać równych z dziedziczeniem?
Kiedy czytam książkę Java, autor powiedział, że podczas projektowania klasy korzystanie z niej jest zazwyczaj niebezpieczneequals()
z dziedziczeniem. Na przykład:
public final class Date {
public boolean equals(Object o) {
// some code here
}
}
W powyższej klasie powinniśmy umieścićfinal
, więc inna klasa nie może po niej dziedziczyć. A moje pytanie brzmi: dlaczego nie jest bezpieczne, gdy pozwala się na dziedziczenie po innej klasie?