黑马程序员_ 注解



------- android培训java培训、期待与您交流!---------

一、常用的基本注解

@SuppressWarnings

该注解的作用是阻止编译器发出某些警告信息。

  它可以有以下参数:
        deprecation:过时的类或方法警告。 
        unchecked:执行了未检查的转换时警告。
        fallthrough:当Switch程序块直接通往下一种情况而没有Break时的警告。
        path:在类路径、源文件路径等中有不存在的路径时的警告。
        serial:当在可序列化的类上缺少serialVersionUID定义时的警告。
        finally:任何finally子句不能完成时的警告。
        all:关于以上所有情况的警告。


@Deprecated 该注解的作用是标记某个过时的类或方法。


@Override 该注解用在方法前面,用来标识该方法是重写父类的某个方法。



二、元注解

元注解是指注解的注解。包括  @Retention @Target @Document @Inherited四种。

@Retention 它是被定义在一个注解类的前面,用来说明该注解的生命周期。

它有以下参数:

RetentionPolicy.SOURCE 注解仅存在于源码中,在class字节码文件中不包含    

RetentionPolicy.CLASS  默认的保留策略,注解会在class字节码文件中存在,但运行时无法获得,

RetentionPolicy.RUNTIME  注解会在class字节码文件中存在,在运行时可以通过反射获取到 


@Documented 将此注解包含在 javadoc 中 ,它代表着此注解会被javadoc工具提取成文档。在doc文档中的内容会因为此注解的信息内容不同而不同。相当与@see,@param 等。

@Inherited 允许子类继承父类中的注解



@Target 它是被定义在一个注解类的前面,用来说明该注解可以被声明在哪些元素,可能的值在枚举类 ElemenetType中

可用参数有:

ElementType.TYPE   接口、类、枚举、注解

ElementType.FIELD  字段、枚举的常量

ElementType.METHOD   方法

ElementType.PARAMETER  方法参数                     //public void accept(@Person(age=87,gender="Man") int score){}

ElementType.CONSTRUCTOR 构造函数

ElementType.LOCAL_VARIABLE  局部变量

ElementType.ANNOTATION_TYPE   注解

ElementType.PACKAGE           包 packag注解必须在package-info.java 中声明




三、定义注解

public @interface xxx{

 String color() default "blue";                                                     //相当于类的变量,
 String value();       
 int[] arrayAttr() default {3,4,4};
 EnumTest.TrafficLamp lamp() default EnumTest.TrafficLamp.RED;
 MetaAnnotation annotationAttr() default @MetaAnnotation("lhm");              //这个对象用@新建

}


@xxx(color="red",age=15,arrayAttr={2,3,4}) //对注释赋值


四、注解的读取

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




------- android培训java培训、期待与您交流!---------



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值