一文让你从此分清Java的方法重载和方法重写

方法重载(Overload)

对于功能类似的方法来说,因为参数列表不一样,却需要记住那么多不同的方法名称,太麻烦。
方法的重载(Overload)多个方法的名称一样,但是参数列表不一样
好处:只需要记住唯—个方法名称,就可以实现类似的多个功能。


方法重载与下列因素相关

  1. 参数个数不同
  2. 参数类型不同
  3. 参数的多类型顺序不同

方法重载与下列因素无关

  1. 与参数的名称无关
  2. 与方法的返回值类型无关

方法重写(Override)

概念:在继承关系当中,方法的名称一样,参数列表也一样。

重写(Override):方法的名称一样,参数列表【也一样】。或叫做覆盖、覆写。
重载(OverLoad):方法的名称一样,参数列表【不一样】。


方法覆盖重写的注意事项:

  1. 必须保证父子类之间方法的名称相同,参数列表也相同。
    @Override:写在方法前面,用来检测是不是有效的正确覆盖重写。
    这个注解就算不写,只要满足要求,也是正确的方法覆盖重写。

  2. 子类方法的返回值必须【小于等于】父类方法的返回值范围
    扩展:java.lang.Object类是所有类的公共最高父类(祖宗类),java.lang.String就是 Object的子类。

  3. 子类方法的权限须【大于等于】父类方法的权限修饰符。
    扩展:public> protected>( default)> private
    备注:( default)不是关键字 default,而是什么都不写,留空。

猜你喜欢

转载自blog.csdn.net/weixin_44547562/article/details/104748951
今日推荐