一:方法重写与重载的区别

所谓方法的重写(发生在继承关系)是指子类的方法与父类继承的方法具有完全相同的返回值类型,方法名,参数类型、个数与顺序。

所谓方法的重载(发生在同一类中)是指同一类中的多个方法的方法名相同,但是参数类型、个数与顺序不同,返回值类型则无关系。

 

二:两者的注意事项与规则

方法重写时,子类重写的方法的访问修饰必须要大于等于父类的方法访问修饰,否则编译器会报错,因此,父类中private修饰的方法子类是无法继承的。

方法重写时,子类的参数列表必须和父类的一样。

方法重写时,子类的返回值类型必须和父类一样。

方法重写时,如果父类抛出了异常,子类也要抛出异常。并且子类抛不能抛出父类没有的检查异常,父类没有的非检查异常倒是可以。

举个例子,父类抛出了IOException,子类就不能抛出Exception,只能抛出IOException及其子异常。

 

值得一提的是,方法的访问类型、返回类型、抛出的异常都不会对方法的重载造成影响

posted on 2019-02-20 13:31  蓝绿绿  阅读(224)  评论(0编辑  收藏  举报