Java代码中注解相关说明及注解机制相关说明
注解的相关概念说明
注解是一种符号,用于在类,方法,参数,属性,构造器上面注解用途: 1.使用javadoc生成文档,常用的有@param @return等 2.代替配置文件的作用,如:enable**,config ,mybatis,spring等框架的一些设置-采用这种方式可减少配置文件的编写 3.代码重写标志,如:@override
java注解的底层实现原理
在Java中注解是使用反射实现其功能Java注解也可以自定义
申明注解和接口非常的类似, 申明注解类采用@interface关键字 注解类注意事项: 注解类中,只支持基本类型、String及枚举类型, 注解类中所有属性被定义成方法,并允许提供默认值自从java 5.0开始,
在java.lang.annotations中提供了四种元注解,
专门注解其他的注解:
@Target? | 注解用于什么地方 |
TYPE | 给类(型)注解 |
FIELD | 给字段注解,不要忘了,字段可以是对象 |
METHOD | 给方法注解 |
PARAMETER | 给参数注解 |
CONSTRUCTOR | 给构造方法注解 |
LOCAL_VARIABLE | 给局部变量注解 |
ANNOTATION_TYPE | 给注解注解(这貌似把自己不当类来看) |
PACKAGE | 给包注解 |
@Retention | 注解运行状态 |
SOURCE, | 源码状态运行, |
CLASS, | 编译类文件时运行 |
Runtime | 运行时运行 |
@Documented | 生成说明文档,添加类的解释 |
@Inherited | 允许子类继承父类中的注解 |
/*定义注解类文件 userAnnotation.java*/ package com.java265.helloworld.other; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; @Target({ ElementType.TYPE }) @Retention(RetentionPolicy.RUNTIME) @Documented public @interface userAnnotation { String Info() default "java265.com自定义注解测试"; } /*定义注解使用类 user.java*/ package com.java265.helloworld.other; @userAnnotation public class user { } /*testMain.java*/ package com.java265.helloworld.other; import java.lang.annotation.Annotation; public class testMain { public static void main(String[] args) throws ClassNotFoundException { // TODO Auto-generated method stub Class classTest = Class.forName("com.java265.helloworld.other.user"); Annotation[] tAll = classTest.getAnnotations(); for (Annotation t : tAll) { userAnnotation t1 = (userAnnotation) t; System.out.println(t1.Info()); } } } --------输出信息------ java265.com自定义注解测试
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。