zoukankan      html  css  js  c++  java
  • Java 重写

    如果一个类从它的父类继承了一个方法,如果这个方法没有被标记为 final ,就可以对这个方法进行重写。

    重写的好处是:能够定义特定于子类类型的行为,这意味着子类能够基于要求来实现父类的方法。

    在面向对象编程中, overriding 意味着去重写已经存在的方法。

    方法重写规则

    • 重写方法的参数列表应该与原方法完全相同。
    • 返回值类型应该和原方法的返回值类型一样或者是它在父类定义时的子类型。
    • 重写函数访问级别限制不能比原函数高。举个例子:如果父类方法声明为公有的,那么子类中的重写方法不能是私有的或是保护的。
    • 只有被子类继承时,方法才能被重写。
    • 方法定义为 final,将导致不能被重写。
    • 一个方法被定义为 static,将使其不能被重写,但是可以重新声明。
    • 一个方法不能被继承,那么也不能被重写。
    • 和父类在一个包中的子类能够重写任何没有被声明为 private 和 final 的父类方法。
    • 和父类不在同一个包中的子类只能重写 non-final 方法或被声明为 public 或 protected 的方法。
    • 一个重写方法能够抛出任何运行时异常,不管被重写方法是否抛出异常。然而重写方法不应该抛出比被重写方法声明的更新更广泛的已检查异常。重写方法能够抛出比被重写方法更窄或更少的异常。
    • 构造函数不能重写。

    使用 super 关键字

    当调用父类的被重写的方法时,要用关键字 super。

  • 相关阅读:
    配置DHCP Snooping防止DHCP Server仿冒者攻击示例
    初识kbmmw 的多语言支持
    kbmmw 5.16.0 发布
    sql去除注释
    markdown写ppt
    Kafka流处理内幕详解
    【转载】matplotlib.pyplot的使用总结大全(入门加进阶)
    魔方第三层旋转公式
    自动化机器学习方面的开源框架和商业服务列表
    进阶版OFA算法:CompOFA: Compound Once-for-all Networks
  • 原文地址:https://www.cnblogs.com/lixxx/p/10830869.html
Copyright © 2011-2022 走看看