`

Java注释中的@deprecated

 
阅读更多

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

    用 @Deprecated注释的程序元素,不鼓励程序员使用这样的元素,通常是因为它很危险或存在更好的选择。在使用不被赞成的程序元素或在不被赞成的代码中执行重写时,编译器会发出警告。
   

    其次,请注意标题,这两个标记有大小写之分,一个是D,一个是d

源代码标记@Deprecated是在JDK1.5中作为内置的annotation引入的,用于表明类(class)、方法(method)、字段(field)已经不再推荐使用,并且在以后的JDK版本中可能将其删除,编译器在默认情况下检测到有此标记的时候会提示警告信息。

Java注释中的@deprecated用于在用Javadoc工具生成文档的时候,标注此类/接口、方法、字段已经被废止。

不过后者还有一个功能就是和源代码标记@Deprecated同样的功能,在JDK1.4版本之后,该功能被@Deprecated所取代。

   

java.lang.Deprectated是J2SE 5.0中标准的Annotation型态之一,它对编译器说明某个方法已经不建议使用,如果有人试图使用或重新定义该方法,必须提出警示讯息。

举个例子来说,您可能定义一个CustomObject类别,并在当中定义有getSomething()方法,而在一段时间之后,您不建议使用这个方法 了,并要将这个方法标示为deprectated,您可以这么作:

CustomObject.java
public class CustomObject {
	@Deprecated public String getSomething() {
		return "something";
	}
}

如果有人试图在继承这个类别后重新定义getSomething(),或是在程序中呼叫使用getSomething()方法,则进行编译时,就会出现这 个警讯:

Note: SubCustomObject.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.

想要知道详细的警讯内容的话,可以在编译时加上-Xline:deprecation自变量,例如:

>javac -Xlint:deprecation SubCustomObject.java
SubCustomObject.java:5: warning: [deprecation] getSomething() in CustomObject ha s been deprecated
object.getSomething();
^
1 warning

java.lang.Deprecated是个Marker annotation,简单的说就是用于标示,annotation名称本身即包括了要给工具程序的信息。

转自

http://lijinwei-123.i.sohu.com/blog/view/161053895.htm

 

分享到:
评论

相关推荐

    Java注释@interface的用法

    java用 @interface Annotation{ } 定义一个注解 @Annotation,一个注解是一个类。 @Override,@Deprecated,@SuppressWarnings为常见的3个注解。 注解相当于一种标记,在程序中加上了注解就等于为程序加上了某种标记...

    JPA 和 注释文档

    JPA(Java persistent api) 是sun 公司持久层标准,它用注释来维持类和表的对应关系: 注意:注释跟类、接口、枚举 是同一级别 使用:@注释名(注释属性名=与注释属性类型对应的值) 注释定义: @Target({ElementType....

    Kotlin基础学习之Deprecated与Suppress注解使用

    在 Java 方法中,如果需要废弃一个方法,只需要在方法钱加上 @Deprecated 即可,例如这样: @Deprecated public void test(){ } 但是如果在 Kotlin 代码中直接使用这个注释,就存在问题了: Deprecated 翻看源码...

    Java 文档注释

    Java 文档注释 Java 支持三种注释方式。前两种分别是 // 和 /* */,第三种被称作说明注释,它以 /** 开始,以 */结束。 说明注释允许你在程序中嵌入关于程序的信息。你可以使用 javadoc 工具软件来生成信息,并输出...

    \java超强笔记(超级经典)

    四种元注释:java.lang.annotation中的类 元注释:注释注释的注释,用来限定注释的特征 @Terget 用来限定某个注释的使用范围,可以对什么元素进行注释 @Retention 用来描述注释的有效范围 @Inherited ...

    建模的Java功能部分,.rar

    java注解和注释一样,不会影响程序逻辑,但注解可以被编译或运行,相当于嵌入在代码中的补充信息。在javaSE中,注解的功能比较单一,例如标记过时的功能,忽略警告等等。但注解在javaEE中占据了更重要的角色,尤其是...

    Java版水果管理系统源码-huihe_2020summer:2020假期spring学习,vue留给你们了,有兴趣自己可以看官方文档,中文很

    引入的一种注释机制。 Java 语言中的类、方法、变量、参数和包等都可以被标注。 内置的注解 作用在代码的注解是 @Override - 检查该方法是否是重写方法。如果发现其父类,或者是引用的接口中并没有该方法时,会报...

    Java开发技术大全(500个源代码).

    outputMax.java 求两个数中的最大数 overflowExample.java 演示溢出 precedence.java 演示自加运算符的优先级 primeNumber.java 输出100-200之间的所有素数 ranking.java 评定成绩等级 rankingBySwitch.java ...

    Java 注解

    提到注解,我们会不由的想到注释,其实注解和注释不是一个东西,注释的作用就是解释代码,方便理解和阅读,说白了就是给程序员看的。而注解则不是,注解的作用比较大,可以进行编译检查、生成doc文档或者进行代码...

    Android代码-JApiDocs

    最大程度地利用 Java 的语法特性,你只管用心设计好接口,添加必要的注释,JApiDocs 会帮你导出一份漂亮的 Html 文档,并生成相关的 Java 和 Object-C 相关数据模型代码,从此,Android 和 IOS 的同学可以少敲很多...

    Java语言高级部分之注解是什么?

    文章目录一、注解是什么?二、JDK中预定义的一些注解1.@Override2.@Deprecated3.@SuppressWarnings4.@SafeVarargs5.@... 从JDK5开始,Java增加对元数据的支持,也就是注解,注解与注释是有一定区别的,可以把

    flowable官方文档汉化版_text.rar

    流程引擎基础案例,全中文文档 Flowable可以作为一个jar替换掉到一个已编译的...如果在MINOR版本中引入API更改,则策略是保留向后兼容的版本,并使用@Deprecated注释。这样被弃用的API将在稍后被删除两个 MINOR版本。

    鹦鹉:像鹦鹉一样学习Java;

    鹦鹉java基础练习逻辑书名:java编程的逻辑反映:21章-反射注释:22章-注解内置注解: @Override :不写不改变方法重新的本质@Deprecated :Java9多了因为,forRemoval属性@SuppressWarning框架和库的注解:自定义...

    疯狂JAVA讲义

    第1章 Java概述 1 1.1 Java语言的发展简史 2 1.2 Java的竞争对手及各自优势 4 1.2.1 C#简介和优势 4 1.2.2 Ruby简介和优势 4 1.2.3 Python的简介和优势 5 1.3 Java程序运行机制 5 1.3.1 高级语言的运行机制 6...

    corejava的学习笔记

    -hotspot is a synonym for the "client" VM [deprecated] The default VM is client. -cp -classpath A : separated list of directories, JAR archives, and ZIP archives to search for class files. -D...

    java基础案例与开发详解案例源码全

    2.3.4 Java代码中的注释23 2.3.5 常见错误解析24 2.4 Java类库组织结构和文档27 2.5 Java虚拟机简介28 2.6 Java技术两种核心运行机制29 2.7 上机练习30 第3章 3.1 变量32 3.1.1 什么是变量32 3.1.2 为什么需要变量32...

    java注解与反射的基本使用(这一篇就够了!)

    注解说白了就是对程序做出解释,与我们在方法、类上的注释没有区别,但是注解可以被其他程序所读取,进行信息处理,否则与注释没有太大的区别。 2.内置注解 内置注解就是我们的jdk所带的一些注解。常用的三个注解: ...

    findbugs-3rd-party-deprecating-plugin:FindBugs 插件检测器,用于将 3-rd 方类或方法列入已弃用的黑名单

    您可以将第 3 方类或方法标记为已弃用,这是使用@Deprecated注释无法实现的, 用户可以使用直观的格式配置包含已弃用类或方法的列表; 此外,插件的用户可以定义方法或类弃用的原因,因此有关弃用类或方法的信息...

    gradle-incap-helper:帮助程序库和注释处理器,用于构建增量注释处理器

    将incap库添加到您的编译时依赖项中,并将incap-processor到您的注释处理器路径中: 与Gradle dependencies { compileOnly( " net.ltgt.gradle.incap:incap: ${ incap.version } " ) annotationProcessor( " ...

Global site tag (gtag.js) - Google Analytics