黑马程序员——Java1.5新特性之注解
2012-03-06 18:26
337 查看
---------------------- android培训、java培训、期待与您交流! ----------------------
注解为我们在代码中添加一些标记,在之后java编译器,开发工具等可以利用反射来了解你的类以及各个成分上的有无任何标记,并按照标记去做相应的事,标记可以加在包,类,字段,方法,方法的参数以及局部变量。Java内置的三种注解:
@Override 表示当前方法是覆盖父类的方法。
@Deprecated 表示当前元素是不赞成使用的。
@SuppressWarnings 表示关闭一些不当的编译器警告信息。
其中@override使用较多而且只需要简单声明即可,而且其他的注解是有其自己的配置参数的,使用@SuppressWarnings的时候会出现@SuppressWarnings("deprecation");在括号里给出了可供配置的值,代表这个方法是过时的,注解加在某些元素上后相当于这些元素有了预定义的属性。
自定义注解在开发中有些类似于接口的定义,使用@interface来声明一个注解,这里可以看到两个元注解@Retention和@Target,用来声明注解本身的行为。@Retention用来声明注解的保留时期,参数有CLASS,RUNTIME,SOURCE三种,分别表示注解保留在编译时期,运行时期和源代码时期。只有当声明为RUNTIME的时候,才能够在运行时刻通过反射API来获取到注解的信息。@Target用来声明注解可以被添加到哪些类型的元素上,如类型,方法上。另外可以给注解增加各种属性。
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface ItcastAnnotation{
String color() default "blue";
int[] arr() default {3,5}
enum类型和注解类型也可以作为属性。
}
将自定义的注解加到某个类上,再通过反射检测该类是否具有这个注解。在使用时注解的属性可以直接赋值,不赋值则取默认值
@ItcastAnnotation(color="red",arr={2,3,4})
public class AnnotationTest
{
public static void main(String[] args) throws Exception
{
if(Annotation.class.isAnnotationPresent(ItcastAnnotation.class))
ItcastAnnotation ann=(ItcastAnnotation)AnnotationTest.class.getAnnotation(Annotation.class);
}
}
---------------------- android培训、java培训、期待与您交流! ----------------------详细请查看:http://edu.csdn.net/heima
注解为我们在代码中添加一些标记,在之后java编译器,开发工具等可以利用反射来了解你的类以及各个成分上的有无任何标记,并按照标记去做相应的事,标记可以加在包,类,字段,方法,方法的参数以及局部变量。Java内置的三种注解:
@Override 表示当前方法是覆盖父类的方法。
@Deprecated 表示当前元素是不赞成使用的。
@SuppressWarnings 表示关闭一些不当的编译器警告信息。
其中@override使用较多而且只需要简单声明即可,而且其他的注解是有其自己的配置参数的,使用@SuppressWarnings的时候会出现@SuppressWarnings("deprecation");在括号里给出了可供配置的值,代表这个方法是过时的,注解加在某些元素上后相当于这些元素有了预定义的属性。
自定义注解在开发中有些类似于接口的定义,使用@interface来声明一个注解,这里可以看到两个元注解@Retention和@Target,用来声明注解本身的行为。@Retention用来声明注解的保留时期,参数有CLASS,RUNTIME,SOURCE三种,分别表示注解保留在编译时期,运行时期和源代码时期。只有当声明为RUNTIME的时候,才能够在运行时刻通过反射API来获取到注解的信息。@Target用来声明注解可以被添加到哪些类型的元素上,如类型,方法上。另外可以给注解增加各种属性。
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface ItcastAnnotation{
String color() default "blue";
int[] arr() default {3,5}
enum类型和注解类型也可以作为属性。
}
将自定义的注解加到某个类上,再通过反射检测该类是否具有这个注解。在使用时注解的属性可以直接赋值,不赋值则取默认值
@ItcastAnnotation(color="red",arr={2,3,4})
public class AnnotationTest
{
public static void main(String[] args) throws Exception
{
if(Annotation.class.isAnnotationPresent(ItcastAnnotation.class))
ItcastAnnotation ann=(ItcastAnnotation)AnnotationTest.class.getAnnotation(Annotation.class);
}
}
---------------------- android培训、java培训、期待与您交流! ----------------------详细请查看:http://edu.csdn.net/heima
相关文章推荐
- 黑马程序员-高新技术Java 1.5特性之的注解(依据张老师视频和网上资料)
- 黑马程序员---Java基础加强---JDK1.5新特性:注解
- 黑马程序员 java1.5版本新特性
- 黑马程序员-java基础加强-JDK1.5新特性注解
- 黑马程序员_JAVA1.5新特性——可变参数
- 黑马程序员_java1.5新特性泛型集合
- 【黑马程序员】javaJDK1.5新特性
- 『黑马程序员』---java--基础加强--环境深入+1.5小特性
- JAVA1.5新特性----注解Annotation
- 黑马程序员 java学习笔记 Day9:JDK1.5新特性
- 了解注解及java提供的几个基本注解(JDK1.5的新特性)
- 黑马程序员——Java1.5新特性
- 黑马程序员---基础强化---java1.5新特性
- 黑马程序员--Java面向对象——JDK 1.5新特性
- 黑马程序员_JAVA1.5新特性——高级For循环
- 黑马程序员<Java 1.5新特性>静态导入、增强for、可变参数、自动装箱拆箱、枚举
- 黑马程序员:jdk1.5新特性4(注解泛型)
- 黑马程序员——Java基础---泛型、集合框架工具类:Collections和Arrays、JDK 1.5新特性
- 黑马程序员-----java1.5新特性
- java 1.5 新特性-注解