Решил задачу по своему. Код не идеальный, но валидатор принял. Все, ок. Но Когда загрузил правильное решение, чтоб сравнить со своим. Не все понял(
if (o == null || getClass() != o.getClass()) {
    return false;
не совсем понял вот эту часть. Что значит getClass()?
Iphone iphone = (Iphone) o;
return price == iphone.price &&
        Objects.equals(model, iphone.model) &&
        Objects.equals(color, iphone.color);
И что-за Objects? Могли бы подробнее разъяснить. Заранее, спс) ПС Мое решение получилось таким:
package com.javarush.task.pro.task10.task1010;

import java.util.Objects;

/*
Два айфона
*/

public class Iphone {
    private String model;
    private String color;
    private int price;

    public Iphone(String model, String color, int price) {
        this.model = model;
        this.color = color;
        this.price = price;
    }

    @Override
    public boolean equals(Object obj) {
        if (this == obj)
            return true;

        if (obj == null)
            return false;

        if (!(obj instanceof Iphone))
            return false;

        Iphone iphone = (Iphone) obj;

        if (this.price != iphone.price)
            return false;

        if (this.model == null || this.color == null)
            return false;

        return (this.model.equals(iphone.model) && this.color.equals(iphone.color));

    }

    public static void main(String[] args) {
        Iphone iphone1 = new Iphone("X", "Black", 999);
        Iphone iphone2 = new Iphone("X", "Black", 999);

        System.out.println(iphone1.equals(iphone2));
    }
}