Java 注解
概述注解时在Java5中开始引入的概念。可以将注解想象成标签,给指定的方法、类、变量、参数、包等贴上一个标签。 ![]() @Override 注解就是告诉编译器,这个方法是重写的父类方法。 还有@Test、@Deprecated等等 自定义注解自己定义注解的语法也很简单: ![]() 然后就可以使用该注解了。 注意,注解时不可以继承的,默认继承Annotation接口。 在Java中有一些特殊的注解,被称为元注解,简单说就是可以注解注解的注解,用来标识注解的作用范围等,有如下元注解: 1.@Retention Retention是保留的意思,它标注了注解的存活时间,取值如下:
2.@Documented Docmented是将注解中的元素包含到Javadoc中 3.@Target target是目标的意思, 它指明了注解运用的地方,如方法、类等,有如下取值:
当有多个时用逗号隔开,如: @Target(value={ElementType.ANNOTATION_TYPE,ElementType.CONSTRUCTOR}) 4.@Inherited Inherited是继承的意思,若一个超类被@Inherited注解过的注解进行了注解的话,那么它的子类如果没有被任何注解进行注解的话,就会继承超类的注解。 5.@Repeatable Repeatable是可重复的意思,就是说这个注解可以进行多次注解,即可以进行多个注解。 ![]() 以上就是Java中的元注解。 注解属性: 注解的属性就是他的成员变量,注解只有成员变量,属性在注解中以无参的方法形式来声明,方法名为变量名,返回值为该变量的类型,属性若没有默认值需要在使用的时候进行赋值 属性的声明如下形式: // int类型的idint id();// 字符串类型的msg变量String msg();// int类型的id,默认值为-1,即在声明的可以给该变量赋值,为默认值int id() default -1; 如以下注解: ![]() 同时,若注解中只有一个value属性,在使用时可以不指定属性名,如下所示: ![]() 若注解中没有任何属性,则使用注解时括号可以省略,如下所示: ![]() 以上,就是自定义注解的方式 注解的提取有了自定义的注解,还要去使用它,下面看看注解的提取 在Java中用来描述注解的基类是Annotation 要提取注解就要使用到反射,Class对象的如下方法:
注解添加如下: ![]() 获取操作如下所示: ![]() 运行结果: ![]() 需要注意的是,若一个注解需要在运行时被提取,那么@Retention(RetentionPolicy.RUNTIME)是必须的。 以上就是注解的定义与提取 Java预置的注解
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |