Sobes.tech
Junior — Middle

Všetky objekty v Jave automaticky dedičia metódu equals od triedy Object alebo existujú výnimky?

sobes.tech AI

Odpoveď od AI

В Java все классы неявно наследуют класс Object, если явно не указано иное (например, если класс объявлен как enum или interface). Таким образом, все объекты классов, которые наследуют Object, имеют метод equals. Исключения составляют примитивные типы (int, boolean и т.д.), которые не являются объектами и не наследуют Object, а также интерфейсы и перечисления (enum), которые не наследуют Object напрямую, но все их экземпляры в итоге являются объектами и имеют доступ к equals.

Иными словами, у всех объектов классов, созданных через class, есть метод equals от Object. Но примитивы и интерфейсы не являются объектами в полном смысле и не имеют метода equals напрямую.