重写(Override)
重写是子类对父类的允许访问的方法的实现过程进行重新编写,是继承的一种体现!其返回值和参数都不可以改变。
重写的好处在于子类可以根据需要定义属于自己的特定行为。
方法的重写规则如下:
1、参数列表必须相同
2、返回值类型必须相同
3、访问权限不能比父类中被重写的方法权限低。
4、声明为final的方法不能被重写
5、声明为static的方法不能被重写,但是可以被再次声明
6、子类和父类在同一个包中,子类可以重写父类的所有方法,但是不包含声明为private和final的方法;不在同一个包中,那么子类只能重写父类声明为public和 protected的非final方法。
7、重写方法可以抛出异常,但是不能抛出新的异常
8、构造方法不能被重写
重载(Overload)
重载是发生在一个类中,方法名字相同,但是参数不同,其返回类型可以相同也可以不同。
方法的重载规则如下:
1、重载的方法的参数列表必须不同
2、返回类型可以改变
3、可以改变访问修饰符
4、可以声明更广的异常
5、方法可以在同一个类中或者子类中被重载