2013-07-09 3 views
-1

IN ОБЪЕКТНОЕ СОЗДАНИЕ,Создание экземпляра в java

Bike b = new Honda();

Для какого класса объект создан ... для Honda или для велосипеда?

велосипед является родительским классом, а honda является дочерним классом.

ответ

13

объект тип Honda создан. Переменная имеет тип Bike. Значение переменной является ссылкой - эта ссылка всегда должна быть либо значением null, либо она должна ссылаться на объект типа с Bike, чтобы быть значением переменной b. Это нормально, потому что тип Honda совместим с назначением типа Bike.

Если вы печатаете b.getClass(), например, это все равно будет показывать Honda, поскольку это относится к типу времени выполнения объекта. Но если есть какие-то методы, объявленные только Honda (не Bike), то вы не могли бы назвать их непосредственно на b:

// This would be invalid, assuming that getHondaGarage is declared in Honda 
String garage = b.getHondaGarage(); 

Даже если сам объект (во время выполнения) поддерживает метод, переменная имеет тип Bike означает, что вы можете получить доступ к элементам, объявленным Bike и его суперклассами.

+0

Спасибо за ур ответ – Ganesh

4

Object (or) Экземпляры будут созданы для класса Honda.

С левой стороны от = символ представляет собой ссылку типа Bike, а справа - экземпляр.

+0

Спасибо за ур ответ – Ganesh

2

Object тип Honda создан.

Подробнее о фразе «Создание экземпляра класса» означает то же, что и «Создание объекта». Когда вы создаете object, вы создаете «instance» класса, поэтому «создаете экземпляр» class.

1

Объект имеет тип Honda.

b instanceof Honda == true 

переменной с другой стороны, типа Bike

1

Object типа Honda класс будет создан, но он будет храниться в переменной типа Bike, убедитесь, что Bike является Производный класс от Honda ...

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