Мы наследуем от объекта? - PullRequest
5 голосов
/ 02 июня 2010

Ребята, мы наследуем от Object, как и от любого другого класса (за исключением, разумеется, того, что нам не нужно явно указывать это), или есть некоторые специальные привилегии для класса Object, и он не наследуется как другие классы?

Ответы [ 3 ]

5 голосов
/ 02 июня 2010

Каждый класс в Java является объектом. Они ведут себя как объекты, их можно добавлять в коллекции типа Object, они могут использовать любой метод, определенный в Object.

Итак, ДА, все (кроме примитивов) наследуется от Object в Java.

РЕДАКТИРОВАТЬ: Java использует подход "Все является объектом". Это своего рода силы объектно-ориентированного программирования.

Пример:

  • Если класс A не расширяет другой класс, он по сути расширяет Object.

  • Если класс A расширяет другой класс B, он также расширяет объект, поскольку B должен иметь расширенный объект.

2 голосов
/ 02 июня 2010

Нет, это то же самое. Вот выдержка из JLS 8.1.3 :

Если объявление класса для любого другого у класса нет предложения extends, тогда класс имеет класс Object в качестве неявный прямой суперкласс.

Конечно, Object сам по себе немного особенный ( JLS ):

Каждый класс, кроме Object, является расширение (то есть подкласс) один существующий класс (§8.1.3) и может реализовывать интерфейсы (§8.1.4).

0 голосов
/ 02 июня 2010

Все является объектом в Java. Все методы Object (toString(), wait() и т. Д.) Могут быть вызваны в любом экземпляре любого класса Java.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...