/** 注解/ 1.5新特性
* @param args
* 1 注解:注解就相当于一个你的源程序中要调用的一个类,要在源程序中应用某个注解,得先准备好了这个注解类。
* 就像你要调用某个类,得先有开发好这个类。
*
* 2 @Retention元注解s是枚举,其三种取值:RetetionPolicy.SOURCE、RetetionPolicy.CLASS、RetetionPolicy.RUNTIME;
* 分别对应:java源文件-->class文件-->内存中的字节码。
默认是CLASS.
3 注解的属性:
1 基本类型的属性。以及属性的缺省
2 数组类型的属性.
3 枚举类型的属性.
4 注解类型的属性。
2 value属性:如果注解中有一个名称为value的属性,且你只想设置value属性(
即其他属性都采用默认值或者你只有一个value属性),那么可以省略value=部分,例如:@MyAnnotation("lhm")。
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
if(AnnotationTest.class.isAnnotationPresent(MyAnnotation.class))//当MyAnnotation没有RetentionPolicy.RUNTIME时返回false
System.out.print(AnnotationTest.class.getAnnotations());
//通过反射获取注解
MyAnnotation ma = (MyAnnotation)AnnotationTest.class.getAnnotation(MyAnnotation.class);
}
}
@Retention(RetentionPolicy.RUNTIME)
@interface MyAnnotation {
String color() ;//1 基本类型的属性
String play() default"hah" ;//设置属性的缺省值为hah
String value() ;
int[] arr();
RetentionPolicy rp();//枚举类型的属性。
Retention annotationAttr();//注解类型的属性
}
* @param args
* 1 注解:注解就相当于一个你的源程序中要调用的一个类,要在源程序中应用某个注解,得先准备好了这个注解类。
* 就像你要调用某个类,得先有开发好这个类。
*
* 2 @Retention元注解s是枚举,其三种取值:RetetionPolicy.SOURCE、RetetionPolicy.CLASS、RetetionPolicy.RUNTIME;
* 分别对应:java源文件-->class文件-->内存中的字节码。
默认是CLASS.
3 注解的属性:
1 基本类型的属性。以及属性的缺省
2 数组类型的属性.
3 枚举类型的属性.
4 注解类型的属性。
2 value属性:如果注解中有一个名称为value的属性,且你只想设置value属性(
即其他属性都采用默认值或者你只有一个value属性),那么可以省略value=部分,例如:@MyAnnotation("lhm")。
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
if(AnnotationTest.class.isAnnotationPresent(MyAnnotation.class))//当MyAnnotation没有RetentionPolicy.RUNTIME时返回false
System.out.print(AnnotationTest.class.getAnnotations());
//通过反射获取注解
MyAnnotation ma = (MyAnnotation)AnnotationTest.class.getAnnotation(MyAnnotation.class);
}
}
@Retention(RetentionPolicy.RUNTIME)
@interface MyAnnotation {
String color() ;//1 基本类型的属性
String play() default"hah" ;//设置属性的缺省值为hah
String value() ;
int[] arr();
RetentionPolicy rp();//枚举类型的属性。
Retention annotationAttr();//注解类型的属性
}
---------------------- ASP.Net+Android+IOS开发、 .Net培训、期待与您交流! ----------------------详细请查看:http://edu.csdn.net