`

JDK1.5新特性之注解(转)

    博客分类:
  • java
阅读更多

       其实说起注解语法,对于任何一个Java开发人员来说都已经耳熟能详了,我们每天都在使用着 @author, @param,等等编写注释,然后用javadoc生成文档。Java的这种方便的文档生成方法受到了开发者的普遍赞誉。而从JDK1.5开始,注释语法 提供了更为强大的功能。
       注解是程序向编译器传达某种编译信息的方式。比如对一些过时的方法,编译器在编译的时候会提醒程序员:此方法不推荐使用。但是程序员觉得看到这个提示很不爽,于是说:“哥玩了几十年的程序,这个都不知道吗?你不用给我提示了,我懂滴。”于是程序员在程序中嵌入一句
@SuppressWarnings("deprecated");这行代码表示关闭方法过时提示。于是编译器就乖乖的不提示了。这就是注解!
注解的语法,除了@符号的使用以外,它基本上与java的固有语法一致,java内置了三种
注解,定义在java.lang包中。
      @Override  表示当前方法是覆盖父类的方法。使用这个注解,是告诉编译器,这里必须是覆盖父类的方法。如果你发现不是覆盖父类方法的,请打断它的腿!
      @Deprecated  表示当前元素是不赞成使用的。若在程序中使用了这个注解,编译会提示这个方法过时,但可以运行。
      @SuppressWarnings 叫压缩警告,表示关掉编译器的某些警告。告诉编译器,你少罗嗦,照编译就可以了!
下面自定义一个注解,并使用它:
编写注解类:MyAnnotation.java

package blh.review.reflect;   
import java.lang.annotation.Retention;   
import java.lang.annotation.RetentionPolicy;   
   /* @Retention 表示在什么级别保存该注解信息。可选的 RetentionPolicy 参数包括:   
    *         RetentionPolicy.SOURCE 注解将被编译器丢弃   
    *         RetentionPolicy.CLASS 注解在class文件中可用,但会被VM丢弃   
    *         RetentionPolicy.RUNTIME VM将在运行期也保留注释,因此可以通过反射机制读取注解的信息。  
    * */    
@Retention(RetentionPolicy.RUNTIME)   
public @interface MyAnnotation {   
    public String anotDsc() default "Myannotation";   
}  
 

编写使用注解的类,并检查该类是否使用了注解,打印出注解的信息。

package blh.review.reflect;   
import java.lang.reflect.Method;   
  
@MyAnnotation  
public class AnnotationTest {   
    @MyAnnotation(anotDsc="This is an Annotation test 0!")   
    public void test0(){}   
    @MyAnnotation(anotDsc="This is an Annotation test 1!")   
    public void test1(){}   
    @MyAnnotation(anotDsc="This is an Annotation test 2!")   
    public void test2(){}   
    public static void main(String[] args) {   
        //Use reflect return method   
        Method [] annMethods= AnnotationTest.class.getMethods();   
        for(Method annMethod:annMethods){   
            if (annMethod.isAnnotationPresent(MyAnnotation.class)) {   
                MyAnnotation annotation = annMethod.getAnnotation(MyAnnotation.class);   
                System.out.println("MyAnnotation( method = " + annMethod.getName()     
                        +  " , anotDsc = "     
                        + annotation.anotDsc() + " )");   
            }   
        }   
    }   
}  

 

打印结果:

MyAnnotation( method = test0 , anotDsc = This is an Annotation test 0! )   
MyAnnotation( method = test1 , anotDsc = This is an Annotation test 1! )   
MyAnnotation( method = test2 , anotDsc = This is an Annotation test 2! ) 

 

 

 

分享到:
评论

相关推荐

    jdk1.5新特性

    ### JDK 1.5 新特性详解 #### 泛型编程 **定义与作用:** 泛型编程是 Java 1.5 引入的一项重要特性,它允许开发者在编译时进行类型安全检查,从而避免了运行时可能出现的类型转换异常。通过在编译阶段检查类型安全...

    JDK1.5新特性

    2. **泛型**:泛型是1.5最重要的新特性之一,它允许在类、接口和方法中使用类型参数,增强了类型安全性和代码重用性。泛型可以限制集合元素的类型,避免了类型转换错误。 3. **枚举类(enum)**:之前的Java中,...

    JDK1.5新特性之注解功能(实例讲解)[文].pdf

    Java注解(Annotation)是JDK 1.5引入的一项重要特性,它的出现极大地简化了代码,特别是对于元数据的处理。元数据是关于数据的数据,它可以提供额外的信息,但不直接影响程序的运行。注解就是一种声明式编程,允许...

    Java-jdk1.5安装包

    JDK1.5,也称为Java 5.0,是一个重要的版本,它引入了许多新的特性和改进,对Java语言的发展产生了深远影响。 一、泛型(Generics) 在Java 5.0中,最重要的特性之一就是泛型的引入。泛型允许开发者在定义类、接口...

    jdk1.5新特性关于动态参数,泛型等

    在 JDK 1.5 中,Java 语言引入了一系列重要的新特性,极大地提升了代码的可读性、安全性以及效率。以下是对这些新特性的详细解析: 1. 泛型(Generics) 泛型是 JDK 1.5 最重要的改进之一,它允许在定义集合类时...

    jdk1.5新特性介绍

    - 泛型是JDK 1.5中最显著的新特性之一,它允许程序员在类型级别进行编程,从而提高代码的可读性和重用性,同时减少了强制类型转换的错误。 - 使用泛型可以避免运行时类型检查异常,并且使得集合操作更加安全。 2....

    JDK 1.5新特性

    【JDK 1.5新特性详解】 JDK 1.5是Java发展历程中的一个重要里程碑,引入了许多创新特性,极大地提升了开发效率和代码质量。这些新特性包括泛型(Generics)、增强的“for”循环(Enhanced For loop)、自动装箱/...

    JDK1.5,JDK1.5

    泛型是JDK1.5最重要的特性之一,它允许在类、接口和方法声明中使用类型参数,以实现数据类型的参数化。泛型提高了代码的类型安全性和可读性,减少了类型转换的需要,并允许编译器检查类型错误。 2. **自动装箱与...

    jdk 1.5新特性笔记

    泛型是JDK 1.5最重要的新特性之一,它允许在类、接口和方法中使用类型参数,从而增强了代码的类型安全性和可读性。泛型可以防止在集合中插入不匹配类型的元素,减少了运行时错误的可能性。 2. **自动装箱与拆箱...

    包含 jdk1.5免安装、jdk1.6免安装、jdk1.8(32和64)

    这个压缩包包含了三个不同版本的JDK:JDK 1.5、JDK 1.6和JDK 1.8,其中1.5和1.6是早期版本,而1.8是最流行且广泛使用的版本之一。 **JDK 1.5(也称为Java 5.0)** JDK 1.5在2004年发布,引入了许多重要的新特性,如...

    jdk1.5后的特性.rar

    枚举是 JDK 1.5 中引入的另一种新特性,用于替代传统的常量类,提供了一种更安全、更强大的方式来定义固定数量的值。枚举类型可以包含方法、变量,甚至实现接口。 - **声明枚举**:使用 `enum` 关键字定义枚举,如 ...

    jdk1.5.zip 免费分享,哈哈

    Java Development Kit(JDK)是Java编程语言的核心组件,它包含了一个Java编译器、Java运行时环境(JRE)、调试工具和其他必要...因此,这个压缩包中的"jdk1.5.exe"可能是开发者为了兼容性或历史项目而寻找的重要资源。

    jdk1.5.rar

    总的来说,JDK 1.5是一个里程碑式的版本,它的许多新特性如泛型、枚举、注解和自动装箱/拆箱等,极大地提高了Java开发的效率和代码质量,也为后续版本奠定了坚实的基础。如果你习惯了使用JDK 1.7,但对JDK 1.5有特殊...

    jdk1.5 windows 64位官方正式版,绝对有效

    变量注解(annotations)是JDK1.5引入的新特性,它允许在代码中添加元数据,这些元数据可以用于编译器检查、代码生成、运行时处理等。例如,@Override注解确保方法是重写父类的方法,@Deprecated则标记不再推荐使用...

    JDK1.5、JDK5下载

    JDK1.5的主要新特性包括: 1. **泛型(Generics)**:泛型允许在类、接口和方法定义中使用类型参数,增强了类型安全,减少了强制类型转换的需要。它使代码更易于理解,减少了错误的可能性。 2. **自动装箱与拆箱...

    linux下JDK1.5

    JDK1.5引入了一些重要的新特性,如: 1. **Generics(泛型)**:允许在类、接口和方法中使用类型参数,增强了类型安全性和代码重用性。 2. **Autoboxing and Unboxing(自动装箱与拆箱)**:自动将基本类型与对应的...

    jdk1.5 tiger java5 新特性

    总的来说,JDK 1.5(Java 5.0)的新特性极大地提高了Java的生产力和代码质量。从泛型到增强的for循环,再到注解和枚举,这些改进都让Java开发者能够编写出更安全、更易于维护的代码。在实际开发中,理解并充分利用...

    IBMJDK1.5linux.zip

    在压缩包"IBMJDK1.5linux.zip"中,主要包含的是IBM JDK 1.5的安装文件和相关文档。安装完成后,开发者可以通过设置环境变量(如JAVA_HOME、PATH)来使用这个JDK。通常,这个JDK会包含Java编译器(javac)、Java解释...

    历史版本JDK1.5安装包

    JDK 1.5,也称为Java 5.0,是一个重要的里程碑,因为它引入了许多新的特性和改进,对于Java开发者来说具有深远的影响。 1. 泛型(Generics): JDK 1.5引入了泛型,允许在类、接口和方法中定义类型参数,增强了代码...

Global site tag (gtag.js) - Google Analytics