Java 中的覆盖@Override注解 写与不写的一点点理解
发布日期:2021-09-29 01:26:54
浏览次数:6
分类:技术文章
本文共 1038 字,大约阅读时间需要 3 分钟。
- /*俺的菜鸟笔记
- Java 中的覆盖@Override注解 写与不写的一点点理解
- 一般来说,写与不写没什么区别,JVM可以自识别
- 写的情况下:即说明子类要覆盖基类的方法,基类必须存在方法
- (控制类型public,protected,返回值,参数列表类型)与子类方法完成一致的方法,否则会报错(找不到被Override的方法)。
- 在不写@Override注解的情况下,当基类存在与子类各种条件都符合的方法是即实现覆盖;
- 如果条件不符合时,则是当成新定义的方法使用。
- 所以如果想覆盖基类方法时,最好还是写上@Override注解,这样有利于编译器帮助检查错误
- */
- //示例:
- public class OverrideTest extends Test{
- @Override//此处写与不写都能覆盖基类的t(String)方法
- public void t(String s){
- System.out.println("OverrideTest.t(String):" + s);
- }
- //此处不能写@Override注解,因为方法参数类型与基类的t2方法的参数类型不同
- //所以此处只能新定义了一个t2(float)方法,并不能实现覆盖
- public void t2(float f){
- System.out.println("OverrideTest.t2(float):" + f);
- }
- public static void main(String[] args){
- OverrideTest ot = new OverrideTest();
- ot.t("china34420");
- ot.t2(1.0f);
- ot.t2(1);
- ot.t3();
- }
- }
- /*输出:
- OverrideTest.t(String):china34420
- OverrideTest.t2(float):1.0
- Test.t2(int):1
- OverrideTest.t(String):override
- */
- class Test{
- public void t(String s){
- System.out.println("Test.t(String):" + s);
- }
- public void t2(int i){
- System.out.println("Test.t2(int):" + i);
- }
- public void t3(){
- t("override");
- }
- }
转载地址:https://blog.csdn.net/happydecai/article/details/80194795 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
第一次来,支持一个
[***.219.124.196]2024年04月13日 20时10分23秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
中国35位“大国工匠”榜单出炉!西工大、西电合计占半壁江山!清华仅1人!...
2019-04-29
知乎热议:嵌入式开发中C++好用吗?
2019-04-29
2020,Python 已死?
2019-04-29
漫画:程序员相亲?哈哈哈哈哈哈
2019-04-29
30种EMC标准电路分享,再不收藏就晚了!
2019-04-29
这100道Linux常见面试题,看看你会多少?
2019-04-29
十年硬件老司机,结合实际案例,带你探索单片机低功耗设计!
2019-04-29
“2020年嵌入式软件秋招经验和对嵌入式软件未来的一点思考”
2019-04-29
嵌入式的坑在哪方面?
2019-04-29
三种常见嵌入式设备通信协议
2019-04-29
硬核,这个充电宝居然烧煤气!
2019-04-29
什么是模块化代码?如何写?
2019-04-29
STM32串口发送数据和接收数据方式总结
2019-04-29
来,看看这20个常用的宏定义!
2019-04-29
嵌入式开发中常用的几种通信接口总结
2019-04-29
为什么我那么努力,模电还是学不懂?
2019-04-29
PID系统稳定性与零极点的关系
2019-04-29
什么?电路板上还要喷漆?
2019-04-29
读博读废了是种什么样的体验?
2019-04-29
2020年,技术圈十大“翻车”事件!
2019-04-29