объектный класс также существует вне какого-либо класса? - PullRequest
0 голосов
/ 06 января 2010

Мы знаем, что в Java все классы расширяют Object. но сам объект является классом в Java. так этот класс также расширяется сам по себе или любой другой класс?

Ответы [ 4 ]

6 голосов
/ 06 января 2010

Нет, java.lang.Object ничего не расширяет. Если вы спросите Object.class о его суперклассе, он вернет null.

Было бы точнее сказать, что каждый класс, кроме Object, наследует прямо или косвенно от Object. Формулировка Спецификация языка Java гласит:

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

, а также:

Предложение extends не должно появляться в определение класса Object, потому что это изначальный класс и не имеет прямого суперкласса.

1 голос
/ 06 января 2010

Ну, java.lang.Object - это корневой класс в иерархии классов. Все остальные классы по умолчанию расширяют класс Object. Объект предоставляет реализации по умолчанию для многих важных методов, таких как equals (), hashcode (), toString (), которые все остальные объекты могут либо использовать, либо переопределять в соответствии с их требованиями. Поскольку объект находится в пакете java.lang, он импортируется неявно, поскольку пакет java.lang импортируется неявно. Надеюсь, это поможет тебе, приятель.

1 голос
/ 06 января 2010

Объект является корнем иерархии классов Java. Поэтому он не расширяет любой другой класс.

http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html

0 голосов
/ 06 января 2010

Object называется верхним классом Java. Он находится на TOP , так что ничего над ним ... кроме собственного кода.

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