`
yulon
  • 浏览: 118483 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

java5新特性之Annotation 注解

JDK 
阅读更多

 一、注解是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
2
0
分享到:
评论

相关推荐

    java5.0新特性总结--Annotation系统学习整理笔记

    这篇博客是关于Java 5.0新特性——Annotation的系统学习与整理笔记,通过讲解与实例,深入探讨了注解在Junit、Spring和Hibernate中的应用。 首先,注解是一种声明式的编程元素,它可以附加到类、接口、方法、变量等...

    Java 5 annotation 学习笔记

    Java 5引入的注解(Annotation)是一种元数据,它提供了在代码中嵌入信息的方式,这些信息可以被编译器、JVM或其他工具在编译时或运行时使用。注解可以用来简化代码,提高可维护性,并帮助工具进行静态分析。 1. ...

    Java annotation (JDK5)

    Java注解(JDK5)是Java编程语言中的一个重要特性,自Java 5版本开始引入。注解(Annotation)提供了一种元数据的形式,允许程序员在代码中嵌入额外的信息,这些信息可以被编译器、JVM或者专门的处理工具在编译时或...

    java1.5 annotation注释源代码

    Java 1.5 引入了一种新的元编程机制——注解(Annotation),极大地增强了代码的可读性和可维护性。注解是一种在代码中添加元数据的方式,它允许程序员在源代码上添加一些信息,这些信息可以被编译器或运行时环境...

    java之Annotation及其应用

    Java注解(Annotation)是Java语言的一个重要特性,它为元数据提供了强大的支持。元数据是一种描述数据的数据,可以提供有关代码的附加信息,而这些信息并不直接影响代码的执行。在Java中,注解用于向编译器、JVM或...

    Java自定义注解Annotation的使用

    ### Java自定义注解Annotation的使用 #### 1. 前言 自从JDK 1.5引入了注解这一特性以来,它已经成为Java开发中的一个重要组成部分。注解最初是为了推动EJB 3.0的普及和发展而设计的,其目的是减少配置文件的使用,...

    Annotation注解的介绍和使用

    ### Annotation注解的深入解析与应用 #### 一、Annotation概览 ##### 1.1 何为元数据 元数据,在计算机科学中,是指用于描述数据的数据,它提供了关于数据本身的附加信息,有助于理解、解释和管理数据。在编程...

    Annotation(注解)详细教程,jdk新特性

    Annotation(注解)是Java编程语言的一个重要特性,自JDK 1.5引入以来,逐渐成为编写可维护和可扩展代码的关键工具。注解提供了一种方式,使得程序员可以在代码中添加元数据(metadata),这些数据不直接影响代码...

    JAVA6新特性介绍

    JAXB 2.0(JSR 222)是JDK6中自带的版本,相比之前的1.0(JSR 31),它利用了JDK5引入的注解(Annotation)特性,极大地简化了开发过程。通过在Java类和属性上添加特定的注解,开发者可以声明哪些类和字段应该被映射...

    Java Annotation手册

    Java注解是编程语言的一个强大特性,它使得代码更加简洁、可读性强,同时也简化了各种框架和工具的配置。理解并熟练运用注解,可以提高开发效率,增强代码的可维护性和扩展性。通过自定义注解,开发者可以为特定项目...

    JAVA注解(Annotation).doc

    Java注解,也称为Annotation,是Java编程语言中的一种特性,用于向编译器、JVM或工具提供元数据。元数据是关于数据的数据,它提供了额外的信息,但不直接影响程序的执行。注解在代码中以`@注解名`的形式出现,主要...

    JavaAnnotation必须掌握的特性Java开发Ja

    Java注解(Java Annotation)是Java编程语言中的一个重要特性,它提供了一种元数据的方式,允许程序员在代码中嵌入额外的信息。这些信息可以被编译器、JVM或者特定工具在编译时或运行时读取,用于执行各种验证、生成...

    RowSetDemo.zip java 5新特性

    在Java 5中,`javax.annotation.Resource`注解允许在部署描述符中配置资源,并将其注入到应用程序组件中,例如数据库连接。"RowSetDemo"可能利用了这个特性来自动管理数据库连接。 10. **NIO.2(New I/O 2)** ...

    JAVA Annotation学习

    Java注解(Annotation)是Java语言的一个重要特性,它为元数据提供了强大的支持。元数据是关于数据的数据,可以提供额外的信息,这些信息虽然不是程序运行所必需的,但能够帮助编译器、JVM(Java虚拟机)或工具更好...

    java annotation demo

    Java 注解(Annotation)是Java语言提供的一种元编程机制,它允许程序员在源代码的各个元素(如类、方法、变量...在"java annotation demo"中,你可以学习到如何定义、应用和解析注解,进一步掌握这一强大的编程特性。

    java 通过反射获取类上注解,方法上注解,注解里的值及方法参数

    在Java编程中,注解(Annotation)是一种元数据,它提供了在代码中插入信息的方式,这些信息可以被编译器或运行时环境读取。反射(Reflection)是Java的一个强大特性,允许程序在运行时检查类、接口、字段和方法等...

Global site tag (gtag.js) - Google Analytics