重载:发生在同一个类中,方法名必须相同,参数列表不同(类型,个数,顺序),方法返回值和访问修饰符可以不同,发生在编译时。
public int add(int a,String b) {}
public String add(int a,String b) {}
//编译会报错
重写:
- 发生在父子类中,方法名和参数列表必须相同
- 返回值范围可以小于等于父类
- 抛出的异常范围也要小于等于父类
- 访问修饰符范围要大于等于父类
- 如果父类方法时private,final时,子类不可以重写
重载:发生在同一个类中,方法名必须相同,参数列表不同(类型,个数,顺序),方法返回值和访问修饰符可以不同,发生在编译时。
public int add(int a,String b) {}
public String add(int a,String b) {}
//编译会报错
重写: