博客
关于我
重写的特点
阅读量:581 次
发布时间:2019-03-11

本文共 935 字,大约阅读时间需要 3 分钟。

随着Java编程语言的不断成长,掌握其继承与抽象类的知识变得显得尤为重要。特别是理解子类与父类之间的关系,对于编写稳健且灵活的代码至关重要。接下来,我将从不同维度深入探讨Java继承与抽象类的相关规则。

1. 访问权限与继承关系

在Java中,访问权限的设置遵循封闭性原则。子类与父类之间的访问权限规则需要谨慎处理。默认情况下,子类不能访问父类的protected成员变量或方法,而цев贸类也无法访问子类的private成员。只有通过public访问或继承方式明确指示,子类才能访问父类的protected成员。

2. 方法重写的参数列表要求

方法重写必须满足参数列表一一对应的原则。具体而言,父类方法的参数列表必须与子类重写的方法完全相同,否则将无法识别为重写,编译器会报错。这意味着参数数量和类型均需一致,任何差异都将导致代码不可编译。

3. 返回类型的一致性

在Java中,方法重写在返回类型上有明确的规则。当父类的返回类型为基本类型或void时,子类重写方法的返回类型也必须为同一个基本类型或void才会被允许。这是因为Java严格执行方法的签名匹配原则,任何变化都会导致方法无法重写。

然而,如果父类的返回类型为引用类型,而子类的返回类型是该引用类型的子类,这种情况仍然被视为有效的重写。这一点需要谨慎处理,因为可能导致引用类型的兼容性问题。

4. 异常范围与编译时检查

在编译时,子类方法的异常范围必须是父类方法异常范围的子集。例如,如果父类方法可能抛出IOException,子类方法只允许抛出IOException或其直接子类。这样做是为了在编译阶段确保一致性和安全性。然而,运行时异常不受此限制,因为运行时异常的性质在编译时无法预测。

5. 返回类型为引用类型的特殊情况

当父类方法返回的是引用类型,如Object,而子类返回String时,这被视为有效的重写。这是因为String是Object的子类),因此方法重写被允许。这一规则强调了重写方法时不仅仅看表面的相等,更要考虑实际引用类型的结构。

理解和应用这些规则有助于编写稳健的重写方法,确保代码的兼容性和正确性。通过仔细分析和实践,我们能够更好地掌握Java继承与抽象类的精髓,提升代码质量。

转载地址:http://hhmtz.baihongyu.com/

你可能感兴趣的文章
TextWiew单个线条
查看>>
Android Studio updating indices 一直刷新和闪烁
查看>>
个人购买服务器问题?
查看>>
pwntools编写技巧
查看>>
How2Heap笔记(三)
查看>>
go--microSocket服务端 php客户端
查看>>
小程序提交新数据后如何返回上一页并刷新数据?
查看>>
qt c++实现的ai贪吃蛇吃满屏幕,超详细!(二)ai的具体实现
查看>>
linux 查看log日志相关命令
查看>>
IDEA 2019 安装 mybatis-plus插件
查看>>
div 实现光标悬停变成手型
查看>>
layer.confirm 无效
查看>>
Java 回调机制
查看>>
7、回归和特征选择
查看>>
测试tensorflow是否安装成功 出现 SyntaxError: invalid syntax的错误
查看>>
pycharm使用(新建工程、字体修改、调试)
查看>>
什么是Numpy、Numpy教程
查看>>
Python学习笔记——元组
查看>>
异常声音检测
查看>>
PCB学习笔记——AD17如何添加新的封装
查看>>