Java
SE5新增加@Override注解,它并不是关键字,但是可以把它当作关键字使用。当你想要覆写(重写)某个方法时,可以选择添加这个注解,在你不留心重载而并非覆写了该方法时,编译器就会生成一条错误信息。

重载: 重载的时候,方法名要一样,但是参数类型或个数不一样,返回值类型可以相同也可以不相同。无法以返回型别作为重载函数的区分标准。

覆写(重写): 若子类中的方法与父类中的某一方法具有相同的方法名、返回类型和参数表,则新方法将覆盖原有的方法。


@Override是伪代码,表示重写(当然不写也可以),不过写上有如下好处:
1、可以当注释用,方便阅读;
2、编译器可以给你验证@Override下面的方法名是否是你父类中所有的,如果没有则报错。例如,你如果没写@Override,而你下面的方法名又写错了,这时你的编译器是可以编译通过的,因为编译器以为这个方法是你的子类中自己增加的方法。

举例:在重写父类的onCreate时,在方法前面加上@Override 系统可以帮你检查方法的正确性。

<span style="color:#000000"><code class="language-java"><span style="color:#999999">@Override</span>
<span style="color:#c678dd">public</span> <span style="color:#c678dd">void</span> <span style="color:#61aeee">onCreate</span><span style="color:#999999">(</span>Bundle savedInstanceState<span style="color:#999999">)</span><span style="color:#999999">{</span>……<span style="color:#999999">.</span><span style="color:#999999">}</span>
这种写法是正确的,如果你写成:<span style="color:#999999">@Override</span>
<span style="color:#c678dd">public</span> <span style="color:#c678dd">void</span> <span style="color:#61aeee">oncreate</span><span style="color:#999999">(</span>Bundle savedInstanceState<span style="color:#999999">)</span>
<span style="color:#999999">{</span>……<span style="color:#999999">.</span><span style="color:#999999">}</span>
编译器会报如下错误:The method <span style="color:#61aeee">oncreate</span><span style="color:#999999">(</span>Bundle<span style="color:#999999">)</span> of type HelloWorld must override or
implement a supertype method,以确保你正确重写onCreate方法(因为oncreate应该为onCreate)
而如果你不加<span style="color:#999999">@Override</span>,则编译器将不会检测出错误,而是会认为你为子类定义了一个新方法:oncreate
</code></span>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

有部分添加。
转载自:Java中@Override的作用 ----- 侵删

来源:https://blog.csdn.net/m0_37482190/article/details/90106175

Java注解:@Override的作用相关推荐

  1. JAVA中 @Override 的作用

    如果想重写父类的方法,比如toString()方法的话,在方法前面加上@Override  系统可以帮你检查方法的正确性, @Override public String toString(){... ...

  2. java 注解的几大作用及使用方法详解(转载)

    ava 注解,从名字上看是注释,解释.但功能却不仅仅是注释那么简单.注解(Annotation) 为我们在代码中添加信息提供了一种形式化的方法,是我们可以在稍后某个时刻方便地使用这些数据(通过 解析注 ...

  3. JAVA 注解的几大作用及使用方法详解

    java 注解,从名字上看是注释,解释.但功能却不仅仅是注释那么简单.注解(Annotation) 为我们在代码中添加信息提供了一种形式化的方法,是我们可以在稍后 某个时刻方便地使用这些数据(通过 解 ...

  4. java 注解处理器的作用_深入理解Java:注解(Annotation)--注解处理器

    如果没有用来读取注解的方法和工作,那么注解也就不会比注释更有用处了.使用注解的过程中,很重要的一部分就是创建于使用注解处理器.Java SE5扩展了反射机制的API,以帮助程序员快速的构造自定义注解处 ...

  5. java 注解处理器的作用_Java注解处理器

    Java中的注解(Annotation)是一个很神奇的东西,特别现在有很多Android库都是使用注解的方式来实现的.一直想详细了解一下其中的原理.很有幸阅读到一篇详细解释编写注解处理器的文章.本文的 ...

  6. Android移动开发之【Android实战项目】activity生命周期与Java中@Override的作用

    文章目录 1 @Override 2 oncreate 1 @Override @Override是伪代码,表示重写.(当然不写@Override也可以),不过写上有如下好处: 1.可以当注释用,方便 ...

  7. Java中@Override的作用

    @Override是伪代码,表示重写(当然不写也可以),不过写上有如下好处: 1.可以当注释用,方便阅读: 2.编译器可以给你验证@Override下面的方法名是否是你父类中所有的,如果没有则报错.例 ...

  8. 【Java 注解】注解简介及作用

    文章目录 一.注解简介 二.注解作用 三.Java 预定义注解 一.注解简介 注释 是使用文字描述程序 , 是 给开发和维护程序的人员看的 , 编译器在编译时会将注释删除 ; 注解 也是用于 描述程序 ...

  9. java 过期注解_JDK新特性-----注解@ (@Override、@Deprecated、@SuppressWarings)

    注解-@Override 准确覆写 为什么会有@Override? 如果子类Student需要覆写父类Object的toString方法: class Student { public String ...

最新文章

  1. TensorFlow AI 新品更易用!联手NVIDIA,支持Swift和JavaScript
  2. GNN教程:DGL框架中的采样模型!
  3. jquery form 序列化
  4. 使用游戏测试干式EEG传感器的有效性
  5. java如何知道需导入哪个包_怎么知道缺少哪个jar包,求助!!!
  6. ubuntu14.04 mysql5.6_ubuntu14.04编译安装mysql5.6.28
  7. 最常见的5个导致节点重新启动、驱逐或 CRS 意外重启的问题
  8. sql中用于子查询的几个关键词 any(some是 any的别名),all,in,exists
  9. 今天我来炫炫富(r11笔记第45天)
  10. (转)在endnote中制作GB/T7714《文后参考文献著录规则》的输出格式
  11. 思科CDP/LLDP协议
  12. java毕业设计投标文件在线制作系统mybatis+源码+调试部署+系统+数据库+lw
  13. android怎么测试网速,怎样用手机测网速 安卓手机测网速的方法推荐
  14. python+OpenCV jpg图片的压缩
  15. 怎么管理好精力,让自己每天精力充沛
  16. UNIX 环境高级编程读书笔记(1)
  17. 误发邮件怎么办?发错邮件如何撤回?/
  18. android系统开发 AP 和 BP 简要说明
  19. java青蛙_跳青蛙的求解Java实现
  20. javaee实训报告总结_JavaEE实训报告.doc

热门文章

  1. QT的Q3DBars类的使用
  2. 经典C语言程序100例之九五
  3. 经典C语言程序100例之四四
  4. C语言stdio相关的几个函数
  5. 40_pytorch Batch Norm
  6. Scala编译器安装,开发工具安装,通过IDEA创建scala的工程代码,Scala SDK的设置
  7. 2高并发服务器:多线程服务器
  8. typedef,结构体,共用体,联合体
  9. Python基础概念_14_常见术语
  10. 【numpy】中,对axis【轴】axis=0 axis=1的理解