方法的覆盖Override

简介: 方法的覆盖Override

什么是方法覆盖

子类拓展了父类,可以获得父类的部分方法和成员变量。

可是当父类的某个方法 不适合于 子类本身的特征时,可以进行覆盖,重新定义父类当中的方法

方法的覆盖原则

  1. 实例方法签名必须相同(方法名+方法参数)
  2. 子类方法的返回值类型是和父类方法的返回类型相同或者是其子类。
  3. 子类方法声明抛出的异常类型和父类方法声明抛出的异常类型相同或者是其子类
  4. 子类方法的访问权限比父类方法访问权 限更大或相等

判断方法是否为覆盖方法

判断是否是覆写方法使用 @Override 标签,若方法是覆写方法,在方法前或上贴上该标签, 编译通过,否则,编译出错。只有方法存在覆盖的概念,字段没有覆盖。

什么时候进行方法的覆盖

当父类的某一个行为不符合子类具体的特征的时候,此时子类需要重新定义父类的方法,并重写方法体

相关文章
|
存储 Cloud Native Linux
C++ 关键字override,final的作用
C++ 关键字override,final的作用
|
7月前
|
C++
【C++11特性篇】C++11中の【override】【final】关键字——帮助用户检测是否重写
【C++11特性篇】C++11中の【override】【final】关键字——帮助用户检测是否重写
|
7月前
|
算法 安全 编译器
【C++ 关键字 override】C++ 重写关键字override(强制编译器检查该函数是否覆盖已存在的虚函数)
【C++ 关键字 override】C++ 重写关键字override(强制编译器检查该函数是否覆盖已存在的虚函数)
110 0
|
7月前
|
存储 Java
|
编译器 C++
【C++11】final与override关键字和类的新功能
#「持之以恒」挑战赛-30天技术创作养成记!# 目录 一、final与override关键字 1.1 final 1.2 override 二、类的新功能 2.1 默认成员函数 2.2 类成员变量初始化 2.3 default关键字 2.4 delete关键字
106 0
【C++11】final与override关键字和类的新功能
|
PHP 开发者
最终类 final|学习笔记
快速学习最终类 final,前面说的 PHP 是可以继承的,类是可以继承的,类有我可以继承子类,再往后类又可以继承孙子类,类可以无无限继承,现在确定一个问题,类继承的多了,代表类的重用性增加了,但是系统的解析复杂程度会增加,随之而来的是效率的降低。 那如果有些类已经达到最小的程度,无法再扩展时,或者不需要继续扩展了,这个时候就要使用最终类 final。现在了解一些什么是最终类,掌握 final 关键字的最终作用和实际应用场景。
最终类 final|学习笔记
|
Java 编译器
重写,重写规则 Super 关键字的使用,重写与重载之间的区别 , @override有什么用,以及加不加@override有什么区别
重写,重写规则 Super 关键字的使用,重写与重载之间的区别 , @override有什么用,以及加不加@override有什么区别
249 0
20、利用class创建对象,防止数据覆盖
20、利用class创建对象,防止数据覆盖
53 0
|
Web App开发 自然语言处理 C++
学习C++,学习类,那override和final你用过没?
学习C++,学习类,那override和final你用过没?
108 0
学习C++,学习类,那override和final你用过没?
写出方法覆盖(override)和方法重载(overload)区别
写出方法覆盖(override)和方法重载(overload)区别
107 0