Вроде по аналогии сделал из примера, но возвращает false, как то вобще не понятна тема, просто пытаюсь по аналогии делать
public boolean equals (Object obj) {
       if (obj == null) return false;
       if (this == obj) return true;
       if (this != obj) return false;
       if (!( obj instanceof Iphone)) return false;
       Iphone iphone = (Iphone) obj;
       if (this.model==null) return this.model==null;
       if (this.color==null) return this.color==null;
       if (this.price!=price) return false;
       return (this.model.equals(iphone.model))&&(this.color.equals(iphone.color));