@Override的作用

@Override是伪代码,表示重写(不写也可以,但是有些IDE会报warning),不过写上有如下好处: 
1、可以当注释用,方便阅读;
2、编译器可以给你验证@Override下面的方法名是否是你父类中所有的,如果没有则报错。例如,你如果没写@Override,而你下面的方法名又写错了,这时你的编译器是可以编译通过的,因为编译器以为这个方法是你的子类中自己增加的方法。
3、对于强迫症患者还有一个好处就是可以减少警告!NetBeans检测到有覆盖行为时,会提示warning!这让我很不爽,于是每次写完要覆盖的方法都要看看有没有提示warning,如果有,说明我写对了,如果没有那就错大发了!感觉检查拼写直到出现warning,再在前面加个@Override(我也是不嫌折腾,谁让我是个处女座呢!)。

举例:在重写父类的paintComponent时,在方法前面加上@Override 系统可以帮你检查方法的正确性。
@Override
public void paintComponent(Graphics g)

{…….}
这种写法是正确的,如果你写成:

@Override
public void paintComponet(Graphics g)
{…….}
编译器会报如下错误:The method paintComponent must override or implement a supertype method,这样可以确保你正确重写paintComponent方法(因为paintComponet应该为paintComponent)。而如果你不加@Override,则编译器将不会检测出错误,而是会认为你为子类定义了一个新方法:paintComponet

时间: 2024-12-09 11:05:59

@Override的作用的相关文章

从0开始学Java——@override的作用

早上跟着<jsp&Servlet学习笔记>来学习jsp,在使用eclipse创建了一个servlet类之后,发现自动创建的类和书上相比,doGet方法的前面少了@override,那么我想eclipse自动创建的东西,语法上应该不会有问题吧,如果语法上没有问题,那么为什么作者又要加上@override呢,他究竟有什么作用,带着这样的疑问 @override有注释文档的作用,可有可无有点像鸡肋 但它对于编程粗心的人可是个很人性化的功能 如果想重写父类的方法,比如toString()方法的

Java中@Override的作用

@Override是伪代码,表示重写(当然不写也可以),不过写上有如下好处: 1.可以当注释用,方便阅读:2.编译器可以给你验证@Override下面的方法名是否是你父类中所有的,如果没有则报错.例如,你如果没写@Override,而你下面的方法名又写错了,这时你的编译器是可以编译通过的,因为编译器以为这个方法是你的子类中自己增加的方法. 举例:在重写父类的onCreate时,在方法前面加上@Override 系统可以帮你检查方法的正确性.@Overridepublic void onCreat

c# 多态中 Virtual与override的作用

class A { public A() { PrintFields(); } public void PrintFields() { Console.WriteLine("123"); } } class B : A { int x = 1; int y; public B() { y = -1; } public new void PrintFields() { Console.WriteLine("x={0},y={1} ", x, y); } } publi

@Override注解的使用

先看看@Override注解在Java SE中的声明: package .lang; import java.lang.annotation.*; @Target(ElementType.METHOD) @Retention(RetentionPolicy.SOURCE) public @interface Override { } 由Java源代码声明我们了解到:@Override注解,只能用于标记方法,并且它只在编译期生效,不会保留在class文件中. @Override注解标记的方法声明,

override final default delete修饰的成员函数

1. override 重载 当你在父类中使用了虚函数时候,你可能需要在某个子类中对这个虚函数进行重写,以下方法都可以: class A { virtual void foo(); } class B :public A { void foo(); //OK virtual foo(); // OK void foo() override; //OK } 如果不使用override,当你手一抖,将foo()写成了f00()会怎么样呢?结果是编译器并不会报错,因为它并不知道你的目的是重写虚函数,而

java开发工具——Eclipse的常见使用说明

Java开发常见工具介绍: A:操作系统自带的记事本软件 B:高级记事本软件 C:集成开发环境 IDE (Integrated Development Environment) Eclipse的基本使用Eclipse的基本使用: 选择工作空间 工作空间 其实就是我们写的源代码所在的目录 用Eclipse来完成一个HelloWorld案例 代码以项目为基本单位 创建项目 创建包 创建类 编写代码 eclipse的汉化及检查: 使用dropins安装插件 从Eclipse3.5开始,安装目录下就多了

Java Annotation 及几个常用开源项目注解原理简析

PDF 版: Java Annotation.pdf, PPT 版:Java Annotation.pptx, Keynote 版:Java Annotation.key 一.Annotation 示例 Override Annotation Java 1 2 3 @Override public void onCreate(Bundle savedInstanceState); Retrofit Annotation Java 1 2 3 @GET("/users/{username}&quo

什么是多态(polymorphism)

<编程导论(Java)·2.1.2 啊,我看到了多态> 1.不明觉厉 许多人学习多态时,会觉得. 之所以不明觉厉,因为多态的定义:事物存在的多种表现形态:而后,有人将重载(overload).改写(override).多态变量和泛型归结于同一个术语"多态"之下. 例如:Polymorphism (computer science) yqj2065认为:[(前言 page VII)好像孔乙己说"多态这个字有4种写法"一样,除了凸显多态这一术语比较多态外,并

【Java】Annotation_学习笔记

Annotation 1.APT: 访问和处理Annotation的工具统称,即Annotation Process Tool. 2.java.lang下提供的五种基本Annotation: @Override.@Deprecated.@Suppress Warning.@Safe Varargs.@FunctionalInterface 3.限定重写父类方法:@Override 举例: public class Fruit { public void info() { System.out.p