Ответ
В Java существует единый корень иерархии классов — java.lang.Object. Все классы, для которых не указан явный родитель, неявно наследуются от Object.
Ключевые классы верхнего уровня:
-
Object— корневой класс. Содержит фундаментальные методы, общие для всех объектов:boolean equals(Object obj)— для логического сравнения объектов.int hashCode()— возвращает хэш-код, должен быть согласован сequals().String toString()— возвращает строковое представление объекта.Class<?> getClass()— возвращает метаинформацию о классе объекта (runtime class).protected Object clone()— создает копию объекта.void wait(),void notify(),void notifyAll()— методы для синхронизации потоков.
-
Number(абстрактный) — является родителем для всех классов-оберток примитивных числовых типов:Integer,Double,Long,Float,Byte,Short. Предоставляет методы для конвертации в примитивные типы (например,intValue(),doubleValue()). -
Throwable— базовый класс для всей иерархии исключений и ошибок. Имеет два основных прямых потомка:Error— указывает на серьезные проблемы, которые приложение не должно пытаться обрабатывать (например,OutOfMemoryError).Exception— исключения, которые приложение может и должно обрабатывать. Включает проверяемые (IOException) и непроверяемые (RuntimeException) исключения.
Пример и демонстрация наследования от Object:
// Класс MyClass неявно наследует Object
class MyClass {
private int value;
// Конструктор, геттеры, сеттеры...
}
MyClass obj = new MyClass();
System.out.println(obj.toString()); // Вызовется MyClass.toString() или, если он не переопределен, реализация по умолчанию из Object
System.out.println(obj.getClass().getName()); // Выведет "MyClass"