多态与抽象
1:多态:相同的行为,不同的实现。
2:静态多态,动态多态。
3:动态多态。
1):使用动态绑定
2):重写实现
4:引用数据类型,在继承关系的类的前提下才能做数据转换。
5:多态分为向上转型和向下转型
1)向上转型:自动转换类型,把小类型的对象放到大类型引用中去,没有任何风险,绝对成功
2)向下转型:强制类型转换,把大类型的对象放到小类型引用中去,有风险。编译是通过,运行爆异常
6:java lang ex(强制转换错误);
7:动态绑定:子类绑定父类,子类重写父类的方法。开闭效果
8:instanceof判断指向某个引用。也是一个运算符。在强转之前做判断,规避强转风险。
9:多态应用:1:用父类的对象作为参数。
10:
1)当一个方法只有方法的声明,没有方法的实现,这样的方法就是抽象方法。
2)抽象方法用abstract关键字修饰。
3)一个类里面如果有抽象方法,那么类也必须用abstract修饰。
4)抽象类不能产生对象。
5)抽象类不一定有抽象方法,如果有抽象方法一定有是抽象类
6)抽象类在父类里面,做继承。
7)子类必须重写父类的抽象方法。
8)抽象类也是类,所以可以在其中添加属性,方法,构造。