В Java нужно ли явно указывать ‘extends Object’ при объявлении класса?

«В Java нужно ли явно указывать ‘extends Object’ при объявлении класса?» — вопрос из категории Java Core, который задают на 10% собеседований Java Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Нет, это избыточно. В Java все классы неявно наследуются от класса Object, даже если явное наследование не указано. Object является корнем всей иерархии классов.

Почему это не нужно:

  • Компилятор автоматически добавляет extends Object.
  • Явное указание не несёт новой информации и загромождает код.
  • Это считается плохой практикой, нарушающей принцип DRY (Don't Repeat Yourself).

Пример:

// Правильно и идиоматично - наследование от Object неявное
class MyClass {
    // Код класса
}

// Избыточно и не рекомендуется
class MyOtherClass extends Object {
    // Код класса
}

Оба класса в примере функционально идентичны, но первый вариант предпочтительнее.