【JavaSE】面向对象三大特性之一,多态


在这里插入图片描述

一、多态是什么

多态在我的理解就是当执行同一件事时,对象不同会导致实现结果不同。
在Java中就是由于向上转型和向下转型让对象调用同一个方法,执行的代码却不同。

二、多态实行条件

多态实行条件如下:

  1. 必须在继承体系之下。
  2. 子类必须对父类中的成员方法(重写方法数量>=1)进行重写。
  3. 通过父类的引用调用重写的方法。

三、重写

3.1 重写的格式:

重写的格式有如下四种:

  1. 返回类型相同,或者构成父子类关系。

  2. 方法名相同。

  3. 参数列表(个数,类型,顺序)相同。

  4. 在重写的方法前一般要加上@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种:

  1. 直接引用`父类 变量名 = new 子类()。

  2. 方法传参。

  3. 方法返回值。

还是先将上面的两个类拿来,举例如下。

class Base{
   
	public void fun(int a){
   
		System.out.
评论 43
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鸽鸽程序猿

蟹蟹大哥

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值