向下转型:子类引用指向父类实例对象;向下转型又称为:强制类型转换;
完美状态下的实例:two本身就是父类引用指向的子类对象(这儿相当于原样转回。。。哪儿来的哪儿去)
此时,可以调用子类继承的方法、子类继承的方法、也可以调用子类新添的方法。
但如果这样:
three是:Animal父类引用指向Dog子类对象;发现语法编译没报错,但运行时报错了,类型转换失败。
原因分析:只能如上例:原样返回式的向下转型
这样也是错的。子类引用指向父类会出现编译时错误;下图的例子会报运行时错误。
向下转型:子类引用指向父类实例对象;向下转型又称为:强制类型转换;
完美状态下的实例:two本身就是父类引用指向的子类对象(这儿相当于原样转回。。。哪儿来的哪儿去)
此时,可以调用子类继承的方法、子类继承的方法、也可以调用子类新添的方法。
但如果这样:
three是:Animal父类引用指向Dog子类对象;发现语法编译没报错,但运行时报错了,类型转换失败。
原因分析:只能如上例:原样返回式的向下转型
这样也是错的。子类引用指向父类会出现编译时错误;下图的例子会报运行时错误。
相关文章: