Java中@Deprecated、@SupressWarning、@Override的作用

原创 2013年12月04日 22:49:05
Annotation注解在Java中有着很广泛的,他是做为一种标识 为javac所识别。每一个注解 都对应这一个Java类  在java.lang包中 有三个注解  分别是
Deprecated    SuppressWarning   Override    在使用 注解前必须要在 注解类前面加上@    每增加一个注解 就意味着产生了一个注解对象 。注解就是一个标识,编译器 通过标识来输出不同的编译结果 。    
Deprecated   过时的
SuppressWarning    抑制警告
Override    覆盖
比如@Deprecated,过时API注解,我们在用到JDK提供的API的时候,在编译中遇到 这样的提示 提示用到过时的API ,那么这个API 就被这@Deprecated注解所标识,在javac进行编译的时候。发现了注解便做出相应的提示。
@SuppressWarning("deprecation"),从字面意思上就是抑制 过时API的警告,这个可以放在调用过时的API的方法外部或者调用方法之前,那么在编译的时候javac遇到这个标识 即使知道API过时那么也不会输出过时API的提示   
@Override 这个是覆盖注解,也就是在继承中进行覆盖 父类的某个方法的时候可以加上这个注解,加上这个注解之后 如果我们的覆盖方法,出Eclipse会提示我们错误
 
 

下面是简单的应用:

public class AnnotationTest  extends Test
{  
 
 @SuppressWarnings("deprecation")
 public static void main(String []aegs)
 {  
 
  System.runFinalizersOnExit(true)  ;
  sayHello();
  AnnotationTest t=new AnnotationTest() ;
  t.show() ;
 }
 @Deprecated     //Deprecated  Annotation
 public  static  void sayHello()
 {
  System.out.println("hello ,world!");
 }
 
    @Override
 public  void  show()
 {
  System.out.println("super class");
 }
 
}
public class Test {
 @Deprecated
 public  void  show()
 {
  System.out.println("super class");
 }
}
 
public class Test {
 public  void  show()
 {
  System.out.println("super class");
 }
}




C#中的override和new关键字

问题1: 虚方法首先,看下面的代码。namespace CSharpTest { class A { public void fun() { ...
  • T_27080901
  • T_27080901
  • 2015年05月16日 21:01
  • 1890

java 静态方法不能被override

先上代码,看结果分析:  父类:class Base { public static int a = 10; public int b = 20; static { System.out.p...
  • bingliquhuo
  • bingliquhuo
  • 2014年03月17日 11:16
  • 922

提高你的Java代码质量吧:注意@ Override不同版本的区别

一、分析  @Override注解用于方法的覆写上,它在编译期有效,也就是Java编译器在编译时会根据该注解检查是否真的是覆写,如果不是就报错,拒绝编译。  该注解很大程度解决我们的误写问...
  • p106786860
  • p106786860
  • 2013年09月16日 10:50
  • 4945

Java注释中的@deprecated与源代码中的@Deprecated

Java注释中的@deprecated与源代码中的@Deprecated     用 @Deprecated注释的程序元素,不鼓励程序员使用这样的元素,通常是因为它很危险或存在更好的选择。在使用不被...
  • hugoshine
  • hugoshine
  • 2013年08月02日 11:13
  • 945

C++ 中提供的override 关键字

C++ 语言标准这些年进化的很快,许多新引入的特性我都没有用过。说实话自己也比较懒,总是觉得自己对C++ 的掌握程度已经足够应付日常的各种项目了,所以没有学习新特性的动力。而且一直觉得新引入的特性多数...
  • liyuanbhu
  • liyuanbhu
  • 2015年02月14日 10:57
  • 11759

Java注释Override、Deprecated、SuppressWarnings详解 以及自定义注释等

一、什么是注释     说起注释,得先提一提什么是元数据(metadata)。所谓元数据就是数据的数据。也就是说,元数据是描述数据的。就象数据表中的字段一样,每个字段描述了这个字段下的数据的含...
  • superdog007
  • superdog007
  • 2014年08月27日 15:09
  • 549

override equals后也要override hashcode方法,否则hashmap,hashset,hashtable这三个集合中的操作会出问题。 (其他情况下,不重写hashcode没)

import java.util.HashMap; import java.util.Map; public final class PhoneNumber { private final s...
  • cxyshine
  • cxyshine
  • 2014年11月03日 17:01
  • 571

java中方法重写(Override)与方法重载(Overload)的区别

虽然知道方法重写与方法重载,但总是会忘记具体的区别以及一些细节,所以干脆就写一篇博客记录下来吧。 方法重写(Override):        在Java中,子类可继承父类中的方法,而不需要重新编写相...
  • BeauXie
  • BeauXie
  • 2016年10月31日 20:16
  • 1682

C++ 中override的作用

描述:override保留字表示当前函数重写了基类的虚函数。 目的:1.在函数比较多的情况下可以提示读者某个函数重写了基类虚函数(表示这个虚函数是从基类继承,不是派生类自己定义的);2.强制编译...
  • qq_33485434
  • qq_33485434
  • 2017年11月01日 20:08
  • 47

java方法调用之动态调用多态(重写override)的实现原理——方法表(三)

上两篇篇博文讨论了java的重载(overload)与重写(override)、静态分派与动态分派,这篇博文讨论下动态分派的实现方法,即多态override的实现原理。 java方法调用之重载、重...
  • fan2012huan
  • fan2012huan
  • 2016年03月30日 16:32
  • 4105
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java中@Deprecated、@SupressWarning、@Override的作用
举报原因:
原因补充:

(最多只允许输入30个字)