黑马入学_学习blog_第八篇

来源:互联网 发布:360mac版在哪下载 编辑:程序博客网 时间:2024/05/26 05:50

  • 注解
注解类 了解注解类 注解就相当于一个特殊的类
像写接口一样写

要对一个类进行检查 反射

元信息<信息的信息> 元注解<注解的注解> 元数据

javac把源文件编译成class 把 源程序中的 一些注解去掉 ,把注解留在 calss文件中,

贴上一段 张老师的 代码 进行分析:

注解中的注解

@ItcastAnnotation(annotationAttr=@MetaAnnotation("flx"),color="red",value="abc",arrayAttr=1)
public class AnnotationTest {
/**
* @param args
*/
@SuppressWarnings("deprecation")
@ItcastAnnotation("xyz") //只有value 属性时可以这样简写,但是有其他属性时需要这样写可以定义 其他属性的缺省值已达到效果
public static void main(String[] args) throws Exception{
// TODO Auto-generated method stub
System.runFinalizersOnExit(true);
if(AnnotationTest.class.isAnnotationPresent(ItcastAnnotation.class)){
                //得到ItcastAnnotation 的实例对象
ItcastAnnotation annotation = (ItcastAnnotation)AnnotationTest.class.getAnnotation(ItcastAnnotation.class);
System.out.println(annotation.color());
System.out.println(annotation.value());

System.out.println(annotation.arrayAttr().length);

//枚举属性

System.out.println(annotation.lamp().nextLamp().name());

//注解属性

System.out.println(annotation.annotationAttr().value());

}

Method mainMethod = AnnotationTest.class.getMethod("main", String[].class);
ItcastAnnotation annotation2 = (ItcastAnnotation)mainMethod.getAnnotation(ItcastAnnotation.class);
System.out.println(annotation2.value());
}



0 0
原创粉丝点击