重载表示同一个类中可以有多个名称相同的方法,但是这些方法的参数,列表各不相同(即参数个数和类型不同)与返回值类型无关,不能通过访问权限,返回类型,抛出的异常进行重载。 构造器不能被继承,因此不能被重写,但可以重载。
* 重写是子类继承父类。方法名参数类型完全相同,
* 只能比父类抛出更小的异常
* 子类的访问全向只能比父类的大
*
1、覆盖的方法的标志必须要和被覆盖的方法的标志完全匹配,才能达到覆盖的效果;
2、覆盖的方法的返回值必须和被覆盖的方法的返回一致;
3、覆盖的方法所抛出的异常必须和被覆盖方法的所抛出的异常一致,或者是其子类;
4、被覆盖的方法不能为 private,否则在其子类中只是新定义了一个方法,并没有对其进行
覆盖。
public class Overload {
public Overload() {
}
public void show(){
}
String show(String a){
return null;
}
public String show(int a){
return null;
}
void show(int a,int b){
}
public void show(String a,int b){
}
public void show(int b,String a){
}
}
* 重写是子类继承父类。方法名参数类型完全相同,
* 只能比父类抛出更小的异常
* 子类的访问全向只能比父类的大
*
1、覆盖的方法的标志必须要和被覆盖的方法的标志完全匹配,才能达到覆盖的效果;
2、覆盖的方法的返回值必须和被覆盖的方法的返回一致;
3、覆盖的方法所抛出的异常必须和被覆盖方法的所抛出的异常一致,或者是其子类;
4、被覆盖的方法不能为 private,否则在其子类中只是新定义了一个方法,并没有对其进行
覆盖。
class Override extends Overload{
public Override() {
}
public void show(){
}
/*private String show(String a){
return null;
}*///错误
public void show(int a,int b){
}
}