黑马程序员技术交流社区

标题: java基础--注解 [打印本页]

作者: 周发建    时间: 2016-3-29 10:24
标题: java基础--注解
一、注解(一)注解
注解 Annotation:标记
用于替代配置文件,传统方式利用配置文件告诉类如何运行,有了注解后,开发人员可以通过注解告诉类如何运行。
/**
* @SuppressWarnings 去除警告 压制警告
* @Deprecated 过时,不建议
* @Override 重载
*
* 标记可以加在包、类、字段、方法、参数上
*
* 元注解
* @Retention  保留范围
* @Target        使用目标
*/
(二)自定义注解
//--1. 声明注解
//@Retention(RetentionPolicy.SOURCE) //保留到源代码    仅在源代码上使用这个注解,编译成Class时注解没有了
//@Retention(RetentionPolicy.CLASS)  //保留到Class,默认
@Retention(RetentionPolicy.RUNTIME)  //保留到运行时, 如果需要在程序中获取注解信息,必须作用在运行时
@Target({ElementType.TYPE,ElementType.METHOD,
        ElementType.FIELD,ElementType.PACKAGE,
        ElementType.CONSTRUCTOR})
@interface A{
        String value();
        String color() default "bulue";
        int[] arr() default {1,2,3};
        //属性类型:8种基本 String Class 数组(这些类型的一维数组) 枚举 注解
}
//--2. 使用注解
@A("abc")
class B{
       
}
//--3. 检测
class C{
        public void show(){
                boolean b = B.class.isAnnotationPresent(A.class);
                if(b){
                        A a = B.class.getAnnotation(A.class);
                        System.out.println(a.color());
                        System.out.println(a.arr());
                }
        }
}






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2