一、注解是jdk1.5后加入的新特性,jdk自带的Annotation类主要有三个:
@SuppressWarnings,可用于隐藏一些警告的提示.
用@SuppressWarnings注解后:
其实还可以用泛型消除:
public List<GirlFriend> getGirlFriends(){
List<GirlFriend> list = new ArrayList<GirlFriend>();
for(int i=0 ;i<10;i++){
GirlFriend gf = new GirlFriend();
list.add(gf);
}
return list;
}
指明集合里要装的元素类型
@Deprecated,此注解可作用在类、属性及方法上.用来说明这个类、属性或方法不再建议使用.
@Override,作用于方法上,是让编译器检查这个方法是不是重写了父类的方法,如果没有,则编译会报错。这样可以避免由于程序员不小心敲错或敲漏字母造成的错误!
二、自定义Annotation
1、定义注解类MyAnnotation
@Retention(RetentionPolicy.RUNTIME)
public @interface MyAnnotation {
String value() default "test";
EnumTest value1() default EnumTest.Welcome;
}
@Retention(RetentionPolicy.RUNTIME)的作用是标志MyAnnotation 注解信息保留到运行期间。这样才能使用反射获取该注解的信息.
2、应用了"注解类"的类
@MyAnnotation(value1=EnumTest.Hello) //如果有默认值可不填参数 @MyAnnotation
public class Test {
@MyAnnotation(value="hello world",value1=EnumTest.Welcome)
public static void test(){
System.out.println("调用了test()方法");
}
}
3、对"应用了注解类的类"进行反射操作的类
public class MyReflection {
public static void main(String[] args)
throws IllegalArgumentException, IllegalAccessException,
InvocationTargetException, SecurityException, NoSuchMethodException{
Class<Test> clazz = Test.class;
Method method = clazz.getMethod("test",new Class[]{});
if(method.isAnnotationPresent(MyAnnotation.class)){
method.invoke(clazz, new Object[]{});//用类clazz调用的是一个静态方法
MyAnnotation anno = method.getAnnotation(MyAnnotation.class);
System.out.println(anno.annotationType());
System.out.println(anno.value());
System.out.println(anno.value1());
Method[] ms = anno.annotationType().getDeclaredMethods();
for(Method m : ms){
System.out.println(m.getName());
}
}
}
}
打印结果:
调用了test()方法
interface annotation.MyAnnotation
hello world
Welcome
value1
value
- 大小: 17.7 KB
- 大小: 20.5 KB
分享到:
相关推荐
这篇博客是关于Java 5.0新特性——Annotation的系统学习与整理笔记,通过讲解与实例,深入探讨了注解在Junit、Spring和Hibernate中的应用。 首先,注解是一种声明式的编程元素,它可以附加到类、接口、方法、变量等...
Java 5引入的注解(Annotation)是一种元数据,它提供了在代码中嵌入信息的方式,这些信息可以被编译器、JVM或其他工具在编译时或运行时使用。注解可以用来简化代码,提高可维护性,并帮助工具进行静态分析。 1. ...
Java注解(JDK5)是Java编程语言中的一个重要特性,自Java 5版本开始引入。注解(Annotation)提供了一种元数据的形式,允许程序员在代码中嵌入额外的信息,这些信息可以被编译器、JVM或者专门的处理工具在编译时或...
Java 1.5 引入了一种新的元编程机制——注解(Annotation),极大地增强了代码的可读性和可维护性。注解是一种在代码中添加元数据的方式,它允许程序员在源代码上添加一些信息,这些信息可以被编译器或运行时环境...
Java注解(Annotation)是Java语言的一个重要特性,它为元数据提供了强大的支持。元数据是一种描述数据的数据,可以提供有关代码的附加信息,而这些信息并不直接影响代码的执行。在Java中,注解用于向编译器、JVM或...
### Java自定义注解Annotation的使用 #### 1. 前言 自从JDK 1.5引入了注解这一特性以来,它已经成为Java开发中的一个重要组成部分。注解最初是为了推动EJB 3.0的普及和发展而设计的,其目的是减少配置文件的使用,...
### Annotation注解的深入解析与应用 #### 一、Annotation概览 ##### 1.1 何为元数据 元数据,在计算机科学中,是指用于描述数据的数据,它提供了关于数据本身的附加信息,有助于理解、解释和管理数据。在编程...
Annotation(注解)是Java编程语言的一个重要特性,自JDK 1.5引入以来,逐渐成为编写可维护和可扩展代码的关键工具。注解提供了一种方式,使得程序员可以在代码中添加元数据(metadata),这些数据不直接影响代码...
JAXB 2.0(JSR 222)是JDK6中自带的版本,相比之前的1.0(JSR 31),它利用了JDK5引入的注解(Annotation)特性,极大地简化了开发过程。通过在Java类和属性上添加特定的注解,开发者可以声明哪些类和字段应该被映射...
Java注解是编程语言的一个强大特性,它使得代码更加简洁、可读性强,同时也简化了各种框架和工具的配置。理解并熟练运用注解,可以提高开发效率,增强代码的可维护性和扩展性。通过自定义注解,开发者可以为特定项目...
Java注解,也称为Annotation,是Java编程语言中的一种特性,用于向编译器、JVM或工具提供元数据。元数据是关于数据的数据,它提供了额外的信息,但不直接影响程序的执行。注解在代码中以`@注解名`的形式出现,主要...
Java注解(Java Annotation)是Java编程语言中的一个重要特性,它提供了一种元数据的方式,允许程序员在代码中嵌入额外的信息。这些信息可以被编译器、JVM或者特定工具在编译时或运行时读取,用于执行各种验证、生成...
在Java 5中,`javax.annotation.Resource`注解允许在部署描述符中配置资源,并将其注入到应用程序组件中,例如数据库连接。"RowSetDemo"可能利用了这个特性来自动管理数据库连接。 10. **NIO.2(New I/O 2)** ...
Java注解(Annotation)是Java语言的一个重要特性,它为元数据提供了强大的支持。元数据是关于数据的数据,可以提供额外的信息,这些信息虽然不是程序运行所必需的,但能够帮助编译器、JVM(Java虚拟机)或工具更好...
Java 注解(Annotation)是Java语言提供的一种元编程机制,它允许程序员在源代码的各个元素(如类、方法、变量...在"java annotation demo"中,你可以学习到如何定义、应用和解析注解,进一步掌握这一强大的编程特性。
在Java编程中,注解(Annotation)是一种元数据,它提供了在代码中插入信息的方式,这些信息可以被编译器或运行时环境读取。反射(Reflection)是Java的一个强大特性,允许程序在运行时检查类、接口、字段和方法等...