Java 方法覆盖

方法覆盖

  1、什么时候考虑使用覆盖?

    子类继承父类之后,当继承过来的方法无法满足当前子类的业务需求时,

    子类有权利对这个方法进行重新编写,有必要进行“方法的覆盖”

    方法覆盖又叫做:方法重写(重新编写),英语单词叫做:Override、Overwrite,都可以。

      比较常见的:方法覆盖、方法重写、override

    回顾一下方法重载!!!!
      什么时候考虑使用方法重载overload?
      当在一个类当中,如果功能相似的话,建议将名字定义的一样,这样
      代码美观,并且方便编程。

      什么条件满足之后能够构成方法重载overload
        条件一:在同一个类当中
        条件二:方法名相同
        条件三:参数列表不同(个数、顺序、类型)

  2、什么条件满足的时候构成方法覆盖?

    第一:有继承关系的两个类
    第二:具有相同方法名、返回值类型、形式参数列表
    第三:访问权限不能更低。
    第四:抛出异常不能更多。

    这里还有几个注意事项:(多态语法)
      注意1:方法覆盖只是针对于方法,和属性无关。
      注意2:私有方法无法覆盖。
      注意3:构造方法不能被继承,所以构造方法也不能被覆盖。
      注意4:方法覆盖只是针对于“实例方法”,“静态方法覆盖”没有意义。

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

    至于toString()方法具体怎么进行覆盖?
    格式可以自己定义,或者听需求的。(听项目要求的。)

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

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

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

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

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

 

  

posted @ 2020-08-30 18:23  一叶扁舟,乘风破浪  阅读(1084)  评论(0编辑  收藏  举报