6.1、向上转型和向下转型的概念
向上转型:子---->父 (upcasting)
又被称为自动类型转换:Animal a = new Cat();
向下转型:夫------>子 (downcasting)
又被称为强制类型转换:Cat c = (Cat) a;需要添加强制类型转换符
什么时候需要向下转型?
需要调用或执行子类特有的方法
必须进行向下转型,才可以调用
有什么风险?
容易出现编译异常
如何避免?
instanceof运算符,可以在程序运行阶段动态判断某个引用指向的对象是否为某一种类型。
不管是向上转型还是向下转型,他们之间首先必须有继承关系,这样编译器才不会报错。
6.2、什么是多态。
多种形态,多种状态,编译和运行有两个不同的状态
编译期叫做静态绑定。
运行期叫做动态绑定。
6.3、什么时候必须进行向下转型?
调用子类特有的方法时。