鱼C论坛

 找回密码
 立即注册
查看: 3220|回复: 1

[学习笔记] java重写相关问题

[复制链接]
发表于 2020-2-13 20:46:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 dlnb526 于 2020-2-18 21:44 编辑

Java 注解(Annotation)又称 Java 标注,是 JDK5.0 引入的一种注释机制。
Java 语言中的类、方法、变量、参数和包等都可以被标注。和 Javadoc 不同,Java 标注可以通过反射获取标注内容。在编译器生成类文件时,标注可以被嵌入到字节码中。Java 虚拟机可以保留标注内容,在运行时可以获取到标注内容 。 当然它也支持自定义 Java 标注。

其实下面可以不看,当时还没学习到注解的知识~

                               
登录/注册后可看大图


Java基础学习笔记
在学习java继承中重写相关问题时,利用IDE自带的共呢个实现重写会在前面标明@Override,而书上一般都是简单的重写。
那么这个@Override是必要的吗?答案是否定的。
即便如此,他还是有下面两个很显然的好处:
  • 可以当注释用,方便阅读;
  • 编译器也就是系统可以给你验证检查@Override下面的方法名是否是你父类中所有的,如果没有则报错。例如,你如果没写@Override,而你下面的方法名又写错了,这时你的编译器是可以编译通过的,因为编译器以为这个方法是你的子类中自己增加的方法。

所以作为习惯,在重写父类的方法前最好还是加上@Override~


引用博客园博主龙桑的例子:
@Override
public void onCreate(Bundle savedInstanceState)

{…….}

这种写法是正确的;
@Override
public void oncreate(Bundle savedInstanceState)
{…….}

编译器会报如下错误:The method oncreate(Bundle) of type HelloWorld must override or implement a supertype method,以确保你正确重写onCreate方法(因为oncreate应该为onCreate)。

而如果你不加@Override,则编译器将不会检测出错误,而是会认为你为子类定义了一个新方法:oncreate


所以细节决定成败,有的时候却难以尽善尽美,那么借助编辑器的工具使自己的代码更加完美是最好的选择。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-2-13 22:09:29 | 显示全部楼层
这是一个注解
@Override是重写的注解,如果条件不符合,则重写的方法会报错
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-23 06:03

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表