放大啦资源网 http://www.fangdala.com
当前位置首页 > 百科资料> 正文

方法重写

2023-01-29 00:56:52 暂无评论 百科资料

在Java和来自其他一些高级面向对象的编程语言中,子类可继承父类中的方法,而不需要重新编写相同的方法。但有时子类并不想原封不动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写。方法重写又称方法覆盖。

  • 中文名称 方法重写
  • 外文名称 overriding method
  • 领域 Java
  • 又称 方法覆盖

方法重来自写概念

  方法的重写是指两个方法的返回值、方法名、参数的类型和个数相同(子类重写父类的方法)。

  方法的重写,不能发生在同类中,只能发生在子类中。

  若子类中的方法与父类中的某一方法具有相同的方法名、返回类型和参数表,则新方法将覆盖原有的方法。 360百科如需父类中原有的方法,可使用super关键字,该关键字引用了当前类的父类。

  衡但六顶院往游民件更方法重写的权限:子类中的权限叫江反倍新板奏祖大于或等于父类的权限,(修饰符高低:private < 默认修饰符<protected < public)

  特殊情况:子类不能重写父类被声明为private权限属风父批方从青编则怎回的方法

注意事项

方法的隐藏

  如果子类中定义的静态方法(类方法)与父类中静态方法(类方法)具有相同的返回值类型、方法派殖走名、方法参数的类型和个数完全相同,则称子类中的该方法"隐藏"了父类中的该方法。当子类创建的对象调用该隐藏方法时,默认调用的上志可是子类中的方法。

方法重写与方法重载区别

  方法的重载是方法的参数个数或类型不同,方法名相同。

  方法重写是要注意权限的问题,子类中的权限不能小于父类的权限,当父类的权限为private时,子类无法继承。也就兵职甲件无法产生所谓的重写。(修饰符高低:pri几刑城尼进客例刑vate < 默认修饰符 < public)

特性

  关于方法重写的一些特性:

  1.发生方法重写的两个方法返回值、方法名、参数列表必须来自完全一致(子类重写父类的方法)

  2.子类抛出的异常下不能超过父类相应方法抛出的异常(子类异常不能大于父类异常)

  3.子类方法的访问级别不能低于父类相应方法的访问级别360百科(子类访问级别不能低于父类访问级别)

  根据2,3条可以确定第一条,子类重写父类方立形体洋令担业药法的返回值类型不能大于父类方法的返回值类型,即是说子类方法的返回值必须和父类方法的返回值相同或是其子类。

猜你喜欢