Java自定义注解

Posted 记录

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java自定义注解相关的知识,希望对你有一定的参考价值。

1. 自定义注解

//表示适用于方法或类
@Target({ElementType.METHOD,ElementType.TYPE})
//运行时注解
@Retention(RetentionPolicy.RUNTIME)
public @interface Description {
    String value();
    int age() default 18;
}

2. 使用注解

@Description(value = "i am class annotation",age=12)
public class Child {
//age采用default值
@Description(value = "i am method annotation")
public String name(){
return null;
}
public int age(){
return 0;
}
}

3. 测试


public class Main {
public static void main(String[] args){
//RetentionPolicy.CLASS或RetentionPolicy.SOURCE时无输出
try{
Class c = new Child().getClass();
boolean isExist = c.isAnnotationPresent(Description.class);
if(isExist){
Description d = (Description) c.getAnnotation(Description.class);
System.out.println(d.value());
System.out.println(d.age());
}
for(Method m : c.getMethods()){
for(Annotation a : m.getAnnotations()){
if(a instanceof Description){
Description d = (Description) a;
System.out.println((d.value()));
System.out.println((d.age()));
}
}
}
}catch (Exception e){
e.printStackTrace();
}
}
}
i am class annotation
12
i am method annotation
18

 







































以上是关于Java自定义注解的主要内容,如果未能解决你的问题,请参考以下文章

Java自定义注解

java注释的自定义

Java注解教程及自定义注解

Android APT注解处理器 ( 根据注解生成 Java 代码 )

java自定义注解

我爱java系列---自定义注解