Метод toString, который возвращает текстовое представление объекта.
Все эти методы хорошо определены и реализованы в классе Object.
И соответственно, они наследуются всеми остальными классами Java.
Помните, что все классы по умолчанию являются подклассами класса Object.
Эти методы могут быть переопределены подклассами, чтобы лучше реализовать их функциональность.
Метод equals сравнивает два объекта и возвращает true, если вызывающий метод объект равен другому объекту, указанному в качестве параметра.
Что значит быть равным?
Опять же, это будет зависеть от конкретного объекта.
И этот метод следует переопределить для получения желаемого свойства.
Например, мы можем считать, что две машины равны, если они имеют одну и ту же модель, и цвет, хотя владелец может быть другим.
Если метод equals не переопределен, он будет указывать на то, что два объекта, x и y, одинаковы, возвращая true, если они ссылаются на один и тот же объект, что означает, что они размещены в одном и тот же месте в физической памяти системы.
Метод clone создает точную копию объекта в памяти.
Это означает, что один и тот же объект копируется в новое место в памяти.