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自定义注解测试
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


