大话继承(2)抽象方法和重写

大话继承(2)抽象方法和重写

此文仅供娱乐,没有任何攻击任何人的意思,顺便映射一下继承,私有,抽象方法和重写.把自己理解和一些心得分享给大家,绝无恶意.
我,马大哈,继承了我师傅马保国老师的闪电五连鞭,可是我觉得五连鞭威力太小了,再加上师傅被人30秒KO,觉得脸上无光,我就特别难受,上次重写了师傅的闪电五连鞭,被我改造成了名为闪电五连鞭的九阴白骨爪.但是我觉得脸上实在无光,不想再做他徒弟,但是他的属性和行为确传给了我,不得已,我就去求他啊,我说:"师傅,闪电五连鞭和您的一些东西都实在是您自己的东西,术高莫用啊,您应该把他作为您的私有,不应该外传了."因为马老师被KO了,躺在了医院,意识有点模糊,就同意了,我就趁他睡着的时候,偷着去找武术协会会长,熊凤山,老熊觉得我说的很对,于是他就同意给马老师的一切加上私有这个标签.因为师傅在医院,于是闪电鞭就成了私有的东西,用JAVA语言来说,就是个私有的方法了,子类就无法继承这个东西了.后继无人了.这个方法,如果子类实在想看看这个方法,那么还是可以看一看的,调用super.方法名,就可以看了.我自己也有一些属性,例如姓名name大家都知道的,但是我的方法中有一个参数也叫做name;这个方法是beat(String name),方法体是
{"大家好,我是" + name + "我今天和" + name + "打一场比赛"}
大家会发现这两个name不一样,一个是我的名字,一个是别的对手的名字,那么应该如何正确的写呢?

{"大家好,我是" + this.name + "我今天和" + name + "打一场比赛"}

加上this就可以了,属于我这个类的成员变量,如果是super就是我师傅马保国的名字,这就是this和super关键字.暂时先不说马保国了,我也不在是他的徒弟了,马大哈这名字,我也就不用了.此处略去5000字…
不学武术了,回归生活,我是一个比较爱养宠物的小伙汁,我养了一只猫,两只狗,十几条鱼,这些动物都有个共同特点,那就是吃,但是吃的是什么,那肯定不一样,猫呢,吃鱼,狗吃骨头,鱼呢也吃鱼.那么我们可以写一个父类叫做动物类.里面有一个方法,叫做吃,但是吃什么我们不能够统一,这个时候,我们可以把吃抽象一下.

public abstract void eat();

浅谈抽象

没有方法体,这个作为父类的吃的方法,既然有了抽象方法,那就一定是抽象类,子类就是猫,狗,鱼.他们都必须重写父类的抽象方法,不重写,那么自己一定是个抽象类,因为自己继承了抽象方法.然后我们重写猫狗鱼的抽象方法,猫吃鱼,狗啃骨头,鱼吃鱼.抽象方法可以有自己的构造方法,(接口没有),(注意:子类的构造方法中默认赠送一个父类的无参构造.),但是我们不能够去实例化一个抽象类,不要问WHY?如果问,那就是我可以去实例化一个猫,一个狗,甚至一个人,我可能去实例化一个动物吗?动物那么多,怎么实例化,应该具体的实例化哪个动物?另外抽象类未必有抽象方法,有抽象方法的一定是抽象类.
今天就扯这么多,下次有空再继续扯,下次扯接口,扯多态。

本人才疏学浅,如有错误,请联系本人纠正.
如有不足,请多包含.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值