Java 重写(Override)与重载(Overload)

重写:

  重新是指子类对父类的方法重新编写的过程,具体表现为

    1:参数列表不可改变

    2:返回值类型不可改变

    3:如果父类没有抛出异常,则子类重写此方法时不可抛出强制异常;若父类抛出异常,则子类重写此方法时不可抛出父类异常的高级异常

    4:子类重写后的方法的访问权限不能比父类被重写的访问方法的权限更低

    5:声明为final的方法不可以被重写

    6:声明为static的方法不可以被重写,但是可以被重新声明

    7:构造方法不能被重写

    8:当子类和父类在同一个包中时,子类可以重写父类所有(不包括static和final修饰)的方法;当子类和父类不在同一包中时,子类可以重写父类的声明为public和protected的非final方法

重载

  重载是指在同一类中,方法名相同,参数列表不同,返回值类型也可能不相同

    1:重载后的方法必须改变参数列表

    2:可以改变返回类型,可以改变访问修饰符

    3:可以声明或抛出更高级的异常

    4:可以再同一类中或者子类对父类进行重载

    5:返回值不能作为重载定义的标准

原文地址:https://www.cnblogs.com/huayuxiaoxiang/p/8203618.html