Java初学:类的继承

14 篇文章 0 订阅

一条大鱼可以吃掉一条小鱼,那这条大鱼可以吃掉比那条小鱼更小的鱼吗?

-________-''当然可以啦

这次我们像上篇一样用Java模拟这样一个大鱼吃小鱼的场景:一条大鱼吃掉很多小鱼a,b,c,...,小鱼生命值降为0,大鱼恢复生命。

如果用原来的方法,需要定义所有的鱼类,给所有鱼类定义属性,再给大鱼类中定义一个方法。如果小鱼有很多很多条,那这样一个个去定义是有点麻烦的,而且即便是我们再定义鱼类、大鱼类、小鱼类,这三者也没有任何关系,但在现实中,鱼是包括了大鱼和小鱼的。

因此为了减轻代码的冗余,体现在现实中存在的关系,在这里引入继承这一概念。在我看来,程序中的继承关系是用来实现生活中的大类和小类的包含关系,比如学生包含了大学生、高中生、初中生等,老师包含了大学老师、高中老师、初中老师等。

Java类继承类的语法格式如下图

Java中类继承类的关键字为extends,而这句语句的意思是Smallfish类继承Fish类。子类(Smallfish类)继承到了父类(Fish类)的所有的属性和方法(不包含构造方法),且需要注意的是Java中类只能继承一个父类。

为了实现这个场景,首先定义Fish类

再定义Smallfish类和Bigfish类继承Fish类

在Bigfish类中定义eat方法即是方法重写。当父类中的方法不满足子类中方法的要求时,子类就必须要进行方法重写。调用重写的方法则需根据new关键字后的类名来决定:如果类名是子类的,那么优先调用子类的属性和方法,如果子类没有这些方法,那么就会调用父类中定义的属性和方法。

定义Fist类

现在运行,来看看效果怎样:

搞定!如果要吃更多的鱼,就实例化更多Smallfish类的对象。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值