java中的实例创建
在对象创建中 自行车b=新本田() 为哪个类别创建对象…本田还是自行车 bike是父类,honda是子类。java中的实例创建,java,object,Java,Object,在对象创建中 自行车b=新本田() 为哪个类别创建对象…本田还是自行车 bike是父类,honda是子类。对象将为honda类创建(或)实例 =符号的左侧表示参考类型为自行车,右侧为实例。创建了本田类型的对象。变量的类型为Bike。变量的值是一个引用-该引用必须始终为null值,或者必须引用与Bike兼容类型的对象,才能成为b变量的值。这很好,因为本田车型与自行车车型的分配兼容 例如,如果您打印出b.getClass(),它仍然会显示Honda,因为这是指对象的执行时间类型。但是,如果有任何方法
对象将为honda
类创建(或)实例
=
符号的左侧表示参考类型为自行车
,右侧为实例。创建了本田
类型的对象。变量的类型为Bike
。变量的值是一个引用-该引用必须始终为null
值,或者必须引用与Bike
兼容类型的对象,才能成为b
变量的值。这很好,因为本田
车型与自行车
车型的分配兼容
例如,如果您打印出b.getClass()
,它仍然会显示Honda
,因为这是指对象的执行时间类型。但是,如果有任何方法仅由Honda
(而不是Bike
)声明,则您将无法直接在b
上调用它们:
// This would be invalid, assuming that getHondaGarage is declared in Honda
String garage = b.getHondaGarage();
即使对象本身(在执行时)支持该方法,类型为Bike
的变量也意味着您只能访问由Bike
声明的成员及其超类。创建类型为Honda
的对象
短语“实例化一个类”的意思与“创建一个对象”的意思相同。当你创建一个对象时,你正在创建一个类的“实例”,因此“实例化”一个类
对象的类型是本田
b instanceof Honda == true
另一方面,变量类型为Bike
本田类的对象将被创建,但它将存储在Bike
类型的变量中,确保Bike
是本田的派生类