java重写与重载特点及区分

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

重载:

多个同名函数同时存在,具有不同的参数个数或者参数类型。重载是一个类中多态性的一种表现。

特点:

方法名要一样,但是参数类型或者个数不一样,返回值类型可以相同也可以不同。不能以返回类型作为重载函数的区分标准。

重载必须有不同的参数列表;

可以有不同的访问修饰符;

可以又不同的返回类型,只要参数列表不同;

重写/覆盖:

父类与子类之间的多态性,对父类的函数进行重定义。

在子类中定义某种方法与其父类中的某一方法具有相同的名称和参数,我们就说该方法被重写或者覆盖了。

判断重写:

参数列表必须完全与被重写的方法相同,否则不能称其为重写而是重载。

返回的类型必须一直与被重写的方法的返回类型相同。

访问修饰符的限制一定要大于被重写方法的访问修饰符。

重写方法只能存在于具有继承关系中,重写方法只能重写父类非私有的方法。

重写要求参数签名必须一致,而重载要求参数签名必须不一致;

重写要求返回类型必须一致,而重载对此没有限制;

重写只能用于子类重写父类的方法,重载可以用于同一类中的所有方法。

相关文档
最新文档