方法覆盖Override

继承作用:

基本作用:代码复用

重要作用:方法覆盖和多态机制

=============================================================================

什么时候需要方法覆盖(理解)

怎么进行方法覆盖(掌握)

方法覆盖的条件及注意事项(掌握)

===============================================================================

1、子类继承父类之后,当继承过来的方法无法满足当前子类的业务时,子类有权利对这个方法进行重新编写,有必要进行“方法的覆盖”。

 

  方法覆盖:Override//方法重写(重新编写)overwrite

将继承过来的方法进行了覆盖;

当子类对父类继承的方法进行“方法覆盖”之后。子类对象调用该方法的时候,一定执行覆盖之后的方法。

  方法重载:Overload。

当在一个类中,如果功能相似的话,建议将名字定义的一样,这样代码美观,并且方便编程。

  什么条件满足之后能够构成方法重载overload?

  条件一:在同一个类中

  条件二:方法名相同

  条件三:参数列表不同(个数、顺序、类型)

  在代码级别上,怎么编写构成了方法覆盖呢?

  条件一:两个类必须要有继承关系

  条件二:重写之后的方法和之前的方法,具有相同的返回类型、方法名相同、参数类型。

  条件三、访问权限不能更低、可以更高(这个先记住):

父类的方法权限要小于等于子类的重写之后方法,才可以编译通过。

  条件四:重写之后的方法不能比之前的方法抛出更多的异常,可以更少(这个先记住)

 

注意事项:(学习多态之后再次理解)

注意一:方法覆盖只针对于方法,和属性无关

注意二:私有方法无法覆盖

注意三、构造方法不能被继承,所以构造方法发也不能被覆盖

注意四:方法覆盖只是针对于实例方法,静态方法没有意义。

 关于Object类中的to String方法

1、toString方法的作用:将”java“对象转换成”字符串的形式”。大多数的java类toString方法都是需要覆盖的,因为Object类中提供的toString()方法输出的是一个java对象的内存地址。

至于toString()方法怎么进行覆盖?

格式可以自己定义,或者听项目需求。

2、Object,类中的toString()方法的默认实现是什么?

 

 toString:方法名的意思是转换成String

含义:调用一个java对象的toString()方法就可以将java对象转换成字符串的表示

3、那么toString()方法给的默认实现够用吗?(覆盖toString方法)

所以进行了方法覆盖

4、方法重载和方法覆盖有什么区别?

方法重载发生在同一个类中

方法覆盖是发生在具有继承关系的父子类之间

方法重载是在一个类中,方法名相同,参数列表不同

方法覆盖是具有继承关系的父子类,并且重写之后的方法必须和之前的方法一致:具有相同的返回类型、方法名相同、参数类型。

 

本文作者:喝着农药吐泡泡o

本文链接:https://www.cnblogs.com/gbrr/p/16743153.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   喝着农药吐泡泡o  阅读(18)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
💬
评论
📌
收藏
💗
关注
👍
推荐
🚀
回顶
收起
🔑