2011-12-19 5 views
0

Если класс наследует PuppyObject по умолчанию, если я хочу, чтобы мой Puppy класса продлить суперкласс Dog, делает Puppy все еще продолжается Object во все времена?класса расширяет суперкласс под названием Object

Я не слишком уверен в этом, но я думаю, что Puppy все еще распространяет Object все время, видя, что Eclipse предоставляет мне методы класса Object.

ответ

1

Puppy наследует Собака, которая наследует объект. Ответ на ваш вопрос - да. Все классы наследуют объект в какой-то момент в иерархии классов. Вот почему ваш новый NewClass будет иметь toString(), hashCode() и другие функции, которые вы найдете в Object.

0

Нет, Щенок расширяет Собака и собака расширяет объект.

+0

Спасибо всем за разъяснение! –

0

Предполагая, что Dog также расширяет класс по умолчанию (будучи Object), это будет верно, что Puppy расширяет Dog, расширяющий Object.

И это означает, что Puppy распространяется Object.

0

PuppyextendsDog и DogextendsObject так что вы получите все в methods от Object в Puppy.

0

Подумайте о терминах иерархия наследования.

Если вы идете вверх по иерархии, самый верхний класс (Dog) по иерархии по умолчанию расширяет Object.

И подкласс всегда наследует все наследуемые члены его суперкласса, несмотря на то, что они в свою очередь унаследованы суперклассом из какого-либо другого суперкласса его собственного.

Итак, хотя Puppy не распространяется непосредственно на Object, он наследует членов Object через эту иерархию.

Смежные вопросы