重载(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"); } }
标签:
重载overload
覆盖override