首页 > 编程语言 > 详细

java 自定义注解

时间:2019-09-10 00:12:23      阅读:157      评论:0      收藏:0      [点我收藏+]
@Target(value=ElementType.METHOD) //意味着注解只能用在方法前面 @Retention(RetentionPolicy.RUNTIME) //注解在运行时有效,即可以被反射读取 public @interface My { //注解内包含的是参数的信息,不是方法,比如定义了一个String类型的name变量 String name() default ""; //加默认值,通常为0或空字符串,默认值为-1表示不存在 int age() default 0; int id() default -1; //定义一个数组 String[] s() default {"me","you"}; }

value值可以定义为一个数组,以下表示可以在方法和类前使用注解

@Target(value= {ElementType.METHOD,ElementType.TYPE})
public @interface my2{

}

如果注解里只有一个参数,通常定义为value

@Target(value= {ElementType.METHOD,ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
public @interface My2 {
    //如果注解里只有一个参数,通常定义为value
    String value() default "";
}

main

public class Demo {

    @My(age=19,name="me",id=10,s= {"it","that"})  //显示指定相应的值,可通过反射读取
    public void test()
    {

    }
    //注解只有一个参数时
    @My2(value="aaa")//或者 @My2("ada")

    public void test2()
    {

    }
    public static void main(String[] args) {

    }

}

java 自定义注解

原文:https://blog.51cto.com/14437184/2436669

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!