协变返回类型
来源:互联网 发布:大众点评数据平台 编辑:程序博客网 时间:2024/06/05 15:05
Java进行方法重写有一下几个要求:
1、重写的方法和被重写的方法必须具有相同方法名称、参数列表和返回类型。
2、重写方法不能使用比被重写的方法更严格的访问权限。
但在Java SE5中添加了协变返回类型,它表示子类中的重写方法可以返回基类方法返回类型的子类。
public class CovariantReturn { /* * 协变返回类型: * 表示在子类中的重写方法可以返回基类方法的返回类型的子类 */ public static void main(String[] args) { print(new Father()); print(new Son()); } public static void print(Father f){ // 多态 System.out.println(f.method()); }}class Person { public String toString() { return "Person"; }}class Student extends Person { public String toString() { return "Student"; }}// 方法重写是返回值类型可以不同,是子父类,而且要对应好,子类返回值为子类,父类返回值为父类class Father { public Person method() { return new Person(); }}class Son extends Father { @Override public Student method() { // 返回类型为Person的子类 return new Student(); }}
阅读全文
0 0
- 协变返回类型
- 返回类型协变
- 协变返回类型
- 协变返回类型
- 协变返回类型
- 协变返回类型
- 协变返回类型
- 协变返回类型
- 协变返回类型
- 协变返回类型
- 协变返回类型Covariant
- C++ 返回类型协变
- Java协变返回类型
- 【JavaSE】协变返回类型
- c++返回类型协变
- Java协变返回类型
- 新内容:协变返回类型
- java学习笔记---协变返回类型
- 用java编写九九乘法表
- Power of Two:判断一个数是否是2的幂
- CodeForces-540E Infinite Inversions(树状数组+离散化+加点)
- [Excel图表] 搞定散点图
- 接口测试之HTTP接口详细验证清单
- 协变返回类型
- 第四周第一节(第三章——栈)
- JavaScript数组
- 谈谈快速傅里叶那些事
- 关于捷联惯导解算的理解笔记
- hihocoder #1445 : 后缀自动机二·重复旋律5
- Linear Algebra相关知识总结(1)
- android-上传本地图片到网络
- MOOC清华《VC++面向对象与可视化程序设计》第3章:Windows文本-例(3)动态文本的显示