多态
多态可以实现动态编译:类型只有在执行的过程中在会定义,可扩展性更强。
多态即同一方法可以根据发送对象的不同而采用多种不同的行为方式。
一个对象的实际类型是确定的,但可以指向对象的引用类型有很多(父类,有关系的类)
图1

图2

注意事项:
1.多态是方法的多态,属性没有多态性。
2.父类和子类,有联系 类型转换异常! ClassCastException !
3.多态存在的条件:
(1)有继承关系
(2)方法需要重写,子类重写父类方法
无法重写的方法:1.static 方法,属于类,它不属于实例;2.final 常量;3.private 方法;
(3)父类引用指向子类对象 Father f1 = new Son();
类型转换
instanceof 类型转换~~ 引用类的转换
判断是不是父子关系。
1.父类的引用指向子类的对象;
图1

图2

2.把子类转换为父类,向上转型;

3.把父类转换为子类,向下转型;强制转换

4.方便方法的调用,减少重复的代码
抽象:封装、继承、多态!

浙公网安备 33010602011771号