重载和重写的区别
重载
在同一个类中,方法名必须相同,参数类型不同,个数不同,顺序不同, 方法返回值和访问修饰符可以不同,(方法名必须相同,括号里必须不同) 发生在编译时
public String cz(){
return "";
}
public int cz(int a){
return 0;
}
public int cz(int a,long b){
return 0;
}
protected int cz(long a,int b){
return 0;
}
重写
发生在父子类中,方法名,参数列表必须相同,返回值范围必须小于等于父类,抛出的异常范围小于等于父类,访问修饰符范围要大于等于父类,如果父类方法访问修饰符为private则子类就不能重写该方法