重载与重写的区别 java_Java重载与重写到底是什么?

许多新手在理解重载与重写的时候想破了脑袋,也没弄明白他们的意思。

29f2c1efd22ba9b139f2db0308d118f5.png

我简单打个比方吧。

很多人都玩过lol和王者荣耀吧。那么我们先写一个类,叫做Hero,他有一些基本属性,hp,name,还有一个基本方法play(){System.out.println(“Hero”);}。

然后英雄还有ad英雄和ap英雄。这里我们ad英雄和ap英雄也有Hero的一些基本属性,于是,我们继承他。

class ADHero extends Hero,此时我们可以调用Hero里面的play方法,但是此时是ad英雄,所以我们在ADHero里面写一个方法,覆盖了Hero里面的play方法,就是play(){System.out.println(“ADHero”);}。这个叫做重写,在子类重新写了一个方法去覆盖了父类的这个方法。如果是APHero则重写play(){System.out.println(“APHero”);}

重载就是同名函数完成不同的操作。比如ADHero里面有一个方法叫ADPlay()。 比如完成这件事,输出提莫被打了。 public ADPlay(){System.out.println(“提莫被打了”);},这样就实现了。但是提莫给谁打了呢?我们又设计一个方法,实现,输出:提莫被德玛打了。public ADPlay(String name){System.out.println(“提莫被”+name+"打了");},然后这个name赋值为德玛就行了。

如果要输出:提莫被德玛打了,掉了100血。则是public ADPlay(String name,int hp){System.out.println(“提莫被”+name+"打了,掉了"+hp+“血。”);}。这个就是方法的重载。

大概就是这样子吧,我刚毕业,大神们别喷我。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值