java重写相关问题
本帖最后由 dlnb526 于 2020-2-18 21:44 编辑Java 注解(Annotation)又称 Java 标注,是 JDK5.0 引入的一种注释机制。
Java 语言中的类、方法、变量、参数和包等都可以被标注。和 Javadoc 不同,Java 标注可以通过反射获取标注内容。在编译器生成类文件时,标注可以被嵌入到字节码中。Java 虚拟机可以保留标注内容,在运行时可以获取到标注内容 。 当然它也支持自定义 Java 标注。
其实下面可以不看,当时还没学习到注解的知识~
static/image/hrline/5.gif
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
所以细节决定成败,有的时候却难以尽善尽美,那么借助编辑器的工具使自己的代码更加完美是最好的选择。 这是一个注解
@Override是重写的注解,如果条件不符合,则重写的方法会报错
页:
[1]