所谓方法的重写(发生在继承关系)是指子类的方法与父类继承的方法具有完全相同的返回值类型,方法名,参数类型、个数与顺序。
所谓方法的重载(发生在同一类中)是指同一类中的多个方法的方法名相同,但是参数类型、个数与顺序不同,返回值类型则无关系。
方法重写时,子类重写的方法的访问修饰必须要大于等于父类的方法访问修饰,否则编译器会报错,因此,父类中private修饰的方法子类是无法继承的。
方法重写时,子类的参数列表必须和父类的一样。
方法重写时,子类的返回值类型必须和父类一样。
方法重写时,如果父类抛出了异常,子类也要抛出异常。并且子类抛不能抛出父类没有的检查异常,父类没有的非检查异常倒是可以。
举个例子,父类抛出了IOException,子类就不能抛出Exception,只能抛出IOException及其子异常。
值得一提的是,方法的访问类型、返回类型、抛出的异常都不会对方法的重载造成影响
原文:https://www.cnblogs.com/xiaobo520/p/10406019.html