目录

一、多态是什么
多态在我的理解就是当执行同一件事时,对象不同会导致实现结果不同。
在Java中就是由于向上转型和向下转型让对象调用同一个方法,执行的代码却不同。
二、多态实行条件
多态实行条件如下:
- 必须在继承体系之下。
- 子类必须对父类中的成员方法(重写方法数量>=1)进行重写。
- 通过父类的引用调用重写的方法。
三、重写
3.1 重写的格式:
重写的格式有如下四种:
-
返回类型相同,或者构成父子类关系。
-
方法名相同。
-
参数列表(个数,类型,顺序)相同。
-
在重写的方法前一般要加上@Override注解。
例如:
class Base{
public void fun(int a){
System.out.println(a);
}
}
class A extends Base{
@Override
public void fun(int b){
System.out.println(--b);
}
}
3.2 重写的条件
重写的条件主要有如下3个:
-
重写的方法不能被private,static,final修饰 。
-
重写必须发生在继承体系下。
-
子类重写的方法的访问修饰权限必须大于父类的访问修饰权限。
3.3 重写与重载的对比
对比图如下:
四、向上转型
向上转型就是父类引用子类对象,将子类给到父类。
4.1 向上转型的方式
向上转型的方式有如下3种:
-
直接引用`父类 变量名 = new 子类()。
-
方法传参。
-
方法返回值。
还是先将上面的两个类拿来,举例如下。
class Base{
public void fun(int a){
System.out.