Java中方法重写(override)和方法重载(overload)

一,方法重写(override)

  重写就是在子类中将父类的成员方法的名称保留,重写成员方法的实现内容,更改成员方法的存取权限或是修改成员方法的返回值类型。

  在继承中有一种特殊的重写方式,子类与父类的成员方法返回值、方法名称、参数类型及个数完全相同,唯一不同的是方法实现内容,这种特殊重写方式称为重构。

  重写条件:

  1. 参数必须要一样,可以修改方法的返回值类型,但返回值类型必须要兼容
  2. 不能降低方法的存取权限

二,方法重载(overload)

  方法重载就是在同一个类中允许同时存在一个以上的同名方法,只要这些方法的参数个数或类型不同即可

  重载条件:

  1. 返回类型可以不同,仅返回值类型不同的重载是不应该允许的。
    float max(int a, int b);
    int max(int a,int b);
    
    // 当调用这个方法时无法确定调用哪个方法,所以函数不能根据返回类型来区分重载
    max(1, 2);

     

  2. 不能只改变返回类型
  3. 可以更改存取权限

  构成重载方式:

  1. 参数类型不同,构成重载
  2. 参数顺序不同,构成重载
  3. 参数个数不同,构成重载

 

posted @ 2019-08-08 10:33  Noperx  阅读(296)  评论(0编辑  收藏  举报