动态多态技术基础
向上转型
引用数据类型转型,只能发生在父子之间。不能指鹿为马
子类和子类之间,不是父子关系,不能相互转换
为什么父类的引用,可以指向子类的实现?
因为子类的实例中,一定拥有一个完整的父类的所有的值数据
引用数据类型向上转型,是指子类向父类转型,这个编译器会自动识别,能自动转换成功,原因是:父类的范围>子类的范围
向下转型
引用数据类型,向下转型是有风险的,不是说一定可以成功,如果需要转型成功,必须满足2个条件
1、 必须是父类的引用指向一个子类的实现
2、 子类的引用最终指向相同类型的子类实现
如果一个类中存在抽象方法,那么这个类也是一个抽象类。抽象类无法实例化
抽象类中可以继续编写:属性、行为、甚至构造都可以,构造器此时的作用,并非是为了创建对象,而是用于分配成员变量的存储空间
一个类中如果有抽象方法,这个类一定是抽象类。但抽象类中不一定必须要有抽象方法(语法上)