对象的多态
1.普通类
AnimalFu a = new AnimalZi new(); // 左父右子
2.抽象类 animal 是父类抽象类
Animal a = new Cat();
3.接口 // 学生是类 smoking 是接口
Smoking sk = new Student()
方法的多态
方法覆写 @Override
两同 参数列表 方法名完全相同
两小 返回值类型 子类更小 子类抛出异常更小
一大 (子类访问权限>=父类)
重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。即外壳不变,核心重写!
方法重载 (Overload) 方法名相同 参数列表不同 重载与返回值无关
还有重写 Overwrite = @Override + Overload
挺多的 比较全
https://blog.csdn.net/weixin_45571140/article/details/113883981#comments_15376710
https://www.runoob.com/java/java-override-overload.html
多态的特点:
变量:编译看父类 就是说父类的对象a不能点出子类的特有属性
方法:运行看子类 父类的方法将会被子类方法覆盖override
那final修饰的方法会怎么样呢