多态 分为编译时多态(重载)、运行时多态(重写)


多态 都是方法的多态 没有属性的多态

多态分为编译时多态(重载)、运行时多态(重写)

条件:继承 方法重写 Father f1=new son

重写的条件:1.非静态 不是static

2.不是final 常量

3.不是private 受保护的

@ 子类重写了父类的方法,输出子类

image-20220424093953915

@ 子类有,父类没有 强制转换

image-20220424094413327

@ 父类有,子类没有,继承全部方法

/*
* 多态的注意事项
* 1.多态是方法的多态,属性没有多态
* 2.父类和子类,有联系 转换类型异常! ClassCastException
* 3.存在条件:继承关系 方法重写 父类的引用指向子类对象! Father f1=new Son()
*
*   1.static 方法,属于类 它不属于实例 如果方法中子父类都有static 就直接调用父类的资源
*     2.final 常量
*     3.private方法
* */