Почему переменные класса int x и int y класса GameObject, для решения задачи, обязаны иметь модификатор доступа public? Ведь согласно принципам инкапсуляции это не безопасно и именно поэтому мы создаём конструктор. Задача не проходит проверку с модификаторами доступа private: "Убедись, что переменная x имеет модификатор public." "Убедись, что переменная y имеет модификатор public."
public class GameObject {
    private int x;
    private int y;

    public GameObject(int x, int y) {
        this.x = x;
        this.y = y;
    }
}
Ведь именно такой вариант правильный с точки зрения инкапсуляции