重写(复写)和重载的区别


重写(复写)是子类的方法覆盖父类的方法,要求方法名和参数相同,访问修饰符的限制一定要大于被重写方法的访问修饰符(public>protected>default>private)

重写方法一定不能抛出新的检查异常或者比被重写方法申明更加宽泛的检查型异常。

重载是在同一个类中有两个或两个以上的方法,拥有相同的方法名,但是参数不同(参数个数、次序、类型不同),对返回值没有要求,可以相同,也可以不同,方法体也不相同,但是如果参数的个数、类型、次序都相同,方法名也相同,仅返回值不同,则无法构成重载方法,最常见的重载例子就是类的构造函数。

例子:

public void add(int a, int b) {
// TODO Auto-generated method stub


}

public void add(float a,float b){

}

错误的例子:

public int A(int i);

public double A(int i);

这2个方法不能构成重载,会有编译错误。

你可能感兴趣的:(java小知识点)