java关于函数重载(overload)和函数覆盖(override)区别

来源:互联网 发布:淘宝网页面显示不正常 编辑:程序博客网 时间:2024/05/22 05:23

注:转载请备注原创地址:https://www.niwoxuexi.com/blog/java/article/169.html

重载(Overload):在类中多个同名函数同时存在,具有不同的参数个数/类型。方法名要一样,但是参数类型和个数不一样,返回值类型可以相同也可以不相同。

特点:与返回值类型无关,只看参数列表。

优点:方便阅读,优化设计。

注意:不能有两个名字相同,参数类型,参数个数也相同却返回不同类型值的函数。

public class A{    //show方法被重载   public void show(){   }    //show方法被重载   public void show(int a){   }}

函数覆盖(override):出现在继承的关系中,子类中出现了与父类一模一样的方法时,会有覆盖操作。

特点:(1)静态函数只能覆盖静态函数;

(2)覆盖时,子类方法权限一定要大于父类方法权限;

(3)不能抛出新的异常,或者父异常。

应用情景:当子类需要父类功能,而功能主体子类有自己特有功能时,可以复写父类中的方法,这样既包括了父类的功能,又定义了子类特有的功能。

public class A{   public void show(){      System.out.println("A");   }}public class B extends A{    //子类B重写了父类A的show方法   public void show(){      System.out.println("B");   }

阅读全文
0 0