java 多态_Java的多态

c69bbf39c61ff96e6131632bc6bccded.png

Java的多态有两种,一种是方法的重写,一种是通过继承方法的覆盖

方法的重写,是相同的方法名,不同参数列表,实现不同的功能。例如:

Car.java

public class Car { public void run() { System.out.println("本车正在前行,速度未知"); } public void run(intavg) { System.out.println("本车正在前行,以平均速度前进" + avg); } public void run(intmin, intmax) { System.out.println("本车正在前行,速度在" + min + "-" + max + "之间"); }}

一共三个run方法,根据不同的参数列表区分。

通过继承重写,为此编写两个子类

Train.java

public class Train extends Car { @Override public void run() { System.out.println("我是火车"); } @Override public void run(intavg) { System.out.println("我是火车,我在以平均速度走" + avg); } @Override public void run(intmin, intmax) { System.out.println("我是火车,速度在" + min + "-" + max +"之间"); }}

Bike.java

public class Bike extends Car{ @Override public void run() { System.out.println("我是自行车"); } @Override public void run(intavg) { System.out.println("我是自行车,我在以平均速度走" + avg); } @Override public void run(intmin, intmax) { System.out.println("我是自行车,速度在" + min + "-" + max +"之间"); }}

测试类如下:

Main.java

public class Main { public static void main(String[] args) { Car car = new Car(); Car train = new Train(); Car bike = new Bike();  car.run(); car.run(120); car.run(20, 120);  train.run(); bike.run(); }}

运行时执行的操作依赖于具体的类,而不是依赖于声明的类型。

求**评论、点赞、关注+转发**

限于笔者知识有限,如果不足之处请帮忙指正,不喜勿喷!

您的支持是我不懈努力的动力,请读者多支持下!

更多文章,请关注微信公众号 CS_Toper之路,或者头条号 CSToper

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值