重载
在同一个类中,多个函数或者方法有同样的名称,但是参数列表不同,这样的同名不同参数的函数或者方法,互相称之为重载函数或者重载方法。 条件
- 被重载的方法必须改变参数列表
- 被重载的方法可以改变返回值类型
- 被重载的方法可以改变访问修饰符
- 被重载的方法可以声明新的或更广的异常检查
- 方法能够在同一个类或者在一个子类中被重载
重写
在Java的子类与父类中,有两个名称和参数列表都相同的方法,由于他们具有相同的方法签名,所以子类中的新方法将覆盖父类中原有的方法。 条件
- 参数列表必须完全与被重写方法的参数列表相同。
- 返回值类型必须完全与被重写方法的返回值类型相同。
- 访问级别的限制性一定不能比被重写方法的限制性强
- 访问级别的限制性可以比被重写方法的限制性弱。
- 重写方法一定不能抛出新的检查异常或比被重写的方法声明的检查异常更广泛。
- 重写的方法能够抛出更少或更有限的异常。
- 不能重写被标示为final的方法。
- 如果不能继承一个方法,则不能重写这个方法。