`

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! )

分享到:
评论

相关推荐

    java JDK1.5---32位和64位

    1. **泛型(Generics)**:这是JDK 1.5最重要的特性之一,允许在类、接口和方法中声明参数化类型,从而提高了代码的类型安全性和重用性。泛型有助于减少类型转换的错误,并在编译时期就能发现潜在的问题。 2. **...

    jdk1.5-jar package

    总的来说,这个“jdk1.5-jar package”包含的是Java 5.0开发环境中的`jar`工具及其相关组件,它对于理解并使用Java 5.0的新特性、开发和打包Java应用程序至关重要。这个压缩包可能包含了JDK的安装程序、文档、示例...

    JDK1.5-1.6-1.7之新特性总结-1

    在Java的发展历程中,JDK 1.5到1.7版本引入了许多重要的新特性,极大地提升了开发效率和代码质量。下面将详细讲解这些版本中的关键特性。 **1. 自动装箱与拆箱** 自动装箱是JDK 1.5引入的一个重要特性,它使得基本...

    JDK1.5新特性

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

    jdk1.5新特性

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

    Java-jdk1.5安装包

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

    jdk1.5(jdk-1_5_0_08-windows-i586-p.exe)

    泛型是JDK 1.5引入的最重要的特性之一,允许开发者在类、接口和方法中使用类型参数,提高了代码的类型安全性和可读性,减少了强制类型转换的需要。 2. **枚举(Enums)** JDK 1.5引入了枚举类型,使得定义常量...

    jdk1.5后的特性.rar

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

    JDK1.5,JDK1.5

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

    JDK1.5、JDK5下载

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

    linux下JDK1.5

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

    jdk1.5新特性介绍

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

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

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

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

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

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

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

    JDK转换器(1.5-->1.4)

    在JDK 1.5中,引入了若干重要的新特性,例如: 1. **泛型(Generics)**:泛型允许在类、接口和方法中定义类型参数,增强了类型安全,减少了强制类型转换的需要。这在JDK 1.4中是不支持的,因此1.5编译的类如果使用...

    jdk1.5 tiger java5 新特性

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

Global site tag (gtag.js) - Google Analytics