16.多态
多态是一种事物的多种形态
17.概述
引用变量的两种类型: • 编译时类型(模糊一点,一般是一个父类)
• 由声明时的类型决定。
• 运行时类型(运行时,具体是哪个子类就是哪个子类)
• 由实际对应的对象类型决定。
多态的存在要有个必要条件:要有继承,要有方法重写,父类引用指向子类对象
18.引用数据类型的类型转换
• 子类转换为父类:自动转换
引用不能操作子类新增的成员变量和方法。
引用可以操作子类继承或重写的成员变量和方法
如果子类重写了父类的某个方法,引用调用该方法时,是调用的重写方法。
• 父类转换为子类:强制转换
为了调用子类独有的内容
19.抽象类与抽象方法
抽象类用来描述一种类型应该具备的基本特征与功能, 具体如何去完成这些行为由子类通过方法重写来
完成,
20.通过抽象类,我们就可以做到严格限制子类的设计,使子类之间更加通用。
抽象方法 : 不需要方法体的方法,需要用 abstract 关键字修饰。只能出现在抽象类中。
21.抽象类的使用方法
有抽象方法的类只能定义能抽象类
抽象类不能实例化,即不能用new来实例化抽象类。
抽象类可以包含属性、方法、构造方法。但是构造方法不能用来new实例,只能用来被子类调用。
抽象类只能用来继承。
抽象方法必须被子类实现