重载
发生在同一个类中,有以下几个要求
- 方法名必须相同
- 参数类型不同,个数不同,顺序不同
- 方法返回值和访问修饰符可以不同,但如果参数的个数、类型、次序都相同,方法名也相同,仅返回值不同,则无法构成重载。
- 发生在编译时候
注意
public int add (int a,String b)
public String add (int a,String b)
//这个方便并不是方法的重载
重写
发生在父子类中。
重写是子类对父类的允许访问的方法(非private)的实现过程进行重新编写,返回值和形参都不能改变。即外壳不变,核心重写!重写的好处在于子类可以根据需要,定义特定于自己的行为。也就是说子类能够根据需要实现父类的方法。重写方法不能抛出新的检查异常或者比被重写方法申明更加宽泛的异常。