IN ОБЪЕКТНОЕ СОЗДАНИЕ,Создание экземпляра в java
Bike b = new Honda();
Для какого класса объект создан ... для Honda или для велосипеда?
велосипед является родительским классом, а honda является дочерним классом.
IN ОБЪЕКТНОЕ СОЗДАНИЕ,Создание экземпляра в java
Bike b = new Honda();
Для какого класса объект создан ... для Honda или для велосипеда?
велосипед является родительским классом, а honda является дочерним классом.
объект тип 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
и его суперклассами.
Object
(or) Экземпляры будут созданы для класса Honda
.
С левой стороны от =
символ представляет собой ссылку типа Bike
, а справа - экземпляр.
Спасибо за ур ответ – Ganesh
Object
тип Honda
создан.
Подробнее о фразе «Создание экземпляра класса» означает то же, что и «Создание объекта». Когда вы создаете object
, вы создаете «instance
» класса, поэтому «создаете экземпляр» class
.
Объект имеет тип Honda
.
b instanceof Honda == true
переменной с другой стороны, типа Bike
Object
типа Honda
класс будет создан, но он будет храниться в переменной типа Bike
, убедитесь, что Bike
является Производный класс от Honda
...
Спасибо за ур ответ – Ganesh