public class Point3 extends Point2 {
private int z;
...
public boolean equals(Object p) { // overriding definition
if (p instanceof Point3) return equals((Point3)p);
return super.equals();
}
public boolean equals(Point2 p) { // overriding definition
if (p instanceof Point3) return equals((Point3)p);
return super.equals();
}
public boolean equals(Point3 p) { // extra definition
if (p==null || z!=p.z) return false;
return super.equals();
}
...
}
End of Listing