1.@Deprecated
2 @Override
3.@SuppressWarnings
Annotation,是Java5的新特性,下面是Sun的Tutorial的描述,因为是英文,这里我翻译下,希望能够比较清晰的描述一下Annotation的语法以及思想。
JDK5引入了Metedata(元数据)很容易的就能够调用Annotations.Annotations提供一些本来不属于程序的数据,比如:一段代码的作者或者告诉编译器禁止一些特殊的错误。An annotation 对代码的执行没有什么影响。Annotations使用@annotation的形势应用于代码:类(class),属性(field),方法(method)等等。一个Annotation出现在上面提到的开始位置,而且一般只有一行,也可以包含有任意的参数。@Author("MyName")class myClass() { }
or @SuppressWarnings("unchecked")void MyMethod() { }
Defining your own annotation is an advanced technique that won't be described here, but there are three built-in annotations that every Java programmer should know: @Deprecated, @Override, and @SuppressWarnings. The following example illustrates all three annotation types, applied to methods:
定义自己的Annotation是一个比较高级的技巧,这里我们不做讨论,这里我们仅仅讨论每一个Java programer都应该知道的内置的annotations:@Deprecated, @Override, and @SuppressWarnings。下面的程序阐述了这三种annotation如何应用于methods。import java.util.List;
class Food {}
class Hay extends Food {}
class Animal {
Food getPreferredFood() {
return null; } /** * @deprecated document why the method was deprecated */
@Deprecated
static void deprecatedMethod() { }
}
class Horse extends Animal {
Horse() {
return;
}
@Override
Hay getPreferredFood() {
return new Hay();
}
@SuppressWarnings("deprecation")
void useDeprecatedMethod() {
Animal.deprecateMethod(); //deprecation warning - suppressed }}
}
}
@Deprecated @Deprecated annotation标注一个method不再被使用。编译器在一个program(程序?)使用了不赞成的方法,类,变量的时候会产生警告(warning)。如果一个元素(element:method, class, or variable)不赞成被使用,应该像前面的例子里使用相应的@deprecated 标签,并且注意标签的首字母是小写的"d",而annotation时大写的"D"。一般情况下,我们应该避免使用不赞成使用的方法(deprecated methods),而应该考虑替代的方法。
@Override @Override annotation 告诉编译器当前元素是重写(override)自父类的一个元素。在前面的例子中,override annotation用来说明Horse类中的getPreferredFood这个方法重写(override)自Animal类中相同的方法。如果一个方法被标注了@Override,但是其父类中没有这个方法时,编译器将会报错。但是并不是说我们一定要使用这个annotation,但是它能够很明显的给出实际行为,尤其是在方法返回一个被重写的方法返回类型的子类型的时候。上面的例子中,Animal.getPreferredFood 返回一个 Food实例,Horse.getPreferredFood 返回一个Hay实例,这里Horse是Animal的子类,Hay是Food的子类。
@SuppressWarnings annotation 告诉编译器禁止别的元素产生的特殊的警告(warnings),在前面的例子里,useDeprecatedMethod调用了Animal的不赞成使用的一个方法。一般情况下,编译器会给出一个警告(warning),但是在这种情况下,不会产生这个警告,也就是说被suppress。每个编译器的警告都属于一个类型。Java Language Specification列出了两种类型:"deprecation" 和 "unchecked"。"unchecked" warning 发生在使用非generic的旧代码交互的generic collection类时。为了禁止不止一种的警告时,使用下面的语法:@SuppressWarnings({"unchecked", "deprecation"})
相关推荐
### Java自定义注解Annotation的使用 #### 1. 前言 自从JDK 1.5引入了注解这一特性以来,它已经成为Java开发中的一个重要组成部分。注解最初是为了推动EJB 3.0的普及和发展而设计的,其目的是减少配置文件的使用,...
在IT行业中,DWR(Direct Web Remoting)和Spring框架是两种常见的Web开发技术。DWR允许在浏览器和服务器之间进行实时的JavaScript到Java的调用,极大地增强了Web应用程序的交互性。而Spring框架则是一个全面的企业...
5. 其他常见注解: - `@Deprecated`:标记过时的类、接口或方法。 - `@FunctionalInterface`:标记一个函数式接口,表示该接口只有一个抽象方法。 - `@NotNull`、`@NonNull`:用于表示参数或返回值不允许为null,...
在Android开发中,注解(Annotation)是一种元数据,它提供了在代码中附加信息的方式,这些信息可以被编译器或者运行时环境用来执行特定的操作。注解在Java语言中引入,随后被广泛应用于Android系统,帮助开发者实现...
注解(Annotation)是Java语言中的一个重要特性,自JDK5开始引入,它提供了一种安全的方式,使得程序员可以向源代码中添加元数据(metadata)。元数据是关于数据的数据,它并不改变程序运行方式,但可以被编译器、...
Java注解是一种元数据,它提供了一种安全的方式向编译器或JVM传递信息。常见的注解如@Override、@Deprecated、@ SuppressWarnings等,它们可以帮助开发者进行类型检查、版本控制和消除警告。自定义注解可以用于更...
在Java编程语言中,注解(Annotation)是一种元数据,它提供了一种安全的方法来将信息附加到代码中,而不改变代码的行为。注解的主要用途包括编译器指令、运行时处理(如Java Reflection)、代码生成以及框架和库的...
Java 注解在实际开发中有多种用途,以下是一些常见的应用场景: 1. **依赖注入**:Spring 框架利用注解如 `@Autowired` 和 `@Component` 来自动管理对象之间的依赖关系。 2. **测试框架**:JUnit 使用 `@Test` 和 `...
### Struts2 使用注解(Annotation)实现文件下载 在Web开发中,文件上传与下载是常见的需求之一。Struts2框架提供了强大的功能来支持这一需求。本文将详细介绍如何使用Struts2框架结合注解(Annotation)的方式...
Java注解(Annotation)是一种元数据,可以为程序代码添加额外的信息。注解本身并不改变程序的行为,但它可以通过工具或编译器被读取和处理,从而影响到程序的编译、运行等阶段。 #### 二、Spring中的Java注解 ...
Java注解是Java编程语言中的一个重要特性,它提供了一种元数据的方式,允许程序员在代码中插入额外的信息,这些信息可以被编译器或者运行时环境用来执行特定的任务。注解在现代Java开发中扮演了不可或缺的角色,尤其...
在Java编程语言中,Annotation(注解)是一种元数据,它提供了在编译时和运行时为代码添加信息的方式。注解是自Java 5版本引入的特性,它增强了代码的可读性和可维护性,同时也简化了某些编程任务。在本篇中,我们将...
基于注解的Java操作Excel是一种高效且简洁的方式,它允许开发者通过在代码中添加特定的注解来定义和执行Excel相关的操作。这种方式极大地简化了代码,提高了可读性和可维护性。 首先,我们要理解注解(Annotation)...
* ElementType.ANNOTATION_TYPE:用于注解其他注解类型。 * ElementType.PACKAGE:用于注解包。 @Target 的作用是指定注解可以应用于哪些程序元素,从而提高注解的灵活性和可扩展性。 3.@Documented @Documented ...
Android Annotation库则是专门为Android应用提供的一种便捷的方式来使用注解,它简化了如依赖注入、界面生命周期管理、网络请求等多种常见任务。 1. **依赖注入(Dependency Injection)** Android Annotation支持...
Java注解(Annotation)是Java语言提供的一种元数据机制,它允许程序员在源代码的各个元素(如类、方法、变量等)上添加信息。这些信息可以被编译器或运行时环境用来验证代码、生成代码、配置应用程序,或者提供其他...
在Java编程中,注解(Annotation)是一种元数据,它提供了在代码中附加信息的方式,这些信息可以被编译器或运行时环境用来执行特定的任务。"Java使用注解拼接SQL语句"是一个常见的实践,它使得动态构建SQL查询变得...
### Java注解详解 #### 一、注解(Annotation)简介 注解是Java语言自JDK 5.0版本引入...以上内容总结了Java注解的基本概念、常见注解、元注解以及注解的定义和使用方式,帮助开发者更好地理解和运用注解这一强大特性。