Frage zu Code equals(...)

yxy

Lieutenant
Registriert
Juli 2014
Beiträge
552
Hallo,

ich habe folgenden Code gefunden:

Code:
public class Point … {



public int x;

public int y;



public boolean equals( Object obj ) {

if ( obj instanceof Point ) {

Point pt = (Point) obj;

return (x == pt.x) && (y == pt.y); // (*)

}

return super.equals( obj );

}

…

}

Was ich mich frage:

Warum schreibe ich in der Parameterliste von equals (Object obj)?
Ich hätte jetzt geschrieben (Point obj), da ich ja eine Referenz vom Typ point übergebe.
 
Weil du bei diesem Code die equals-Methode überschreibst und diese nimmt nunmal Object als Parameter an. Kannst auch Point machen, dann ist es aber eine eigene Methode und kein überschreiben mehr der ursprünglichen equals-Methode
 
Oder Generics benutzen.
 
Zurück
Oben