注解

         注解是一种特殊的注释。普通注释在编译器时就会被过滤掉,注解不会,它可以提醒编译器对代码进行检查,比如@Override注解。

         注解的用途很广泛,并且有很多。在java.lang包下有三个常用的注解:

         @Override 标注此方法为重写父类的方法,会通知编译器检测是否重写

         @Deprecated 标注此成员是否过时

         @SuppressWarnings 内置注解, 作用是抑制警告

        

         自定义注解:

         @interface MyAnnotation{

         }

         这种注解是没有限制的,可以修饰任意位置,比如属性、方法、构造器、形参、包等。可以用元注解来限制自定义注解。

        

         @Target(ElementType.METHOD) // 一旦定义了目标, 注解只能使用在方法上

         @Retention(RetentionPolicy.RUNTIME) // 定义注解的停留期, RUNTIME代表运行时, 在     运行时还保留的注解,可以通过反射处理

         @interface MyAnnotation { // 带有属性的注解, 在使用时必须给属性传值,如果属性有       缺省值, 可以省略传值

                   public String name() default "某名字"; // 注解的属性, 写法像方法

                  public int age();

         }

        

         上面代码中的@Targer注解和@Retention注解都是元注解,是用来修饰注解MyAnnotation的。具体作用在注释中已经写到。

         并且这个注解是有属性的,第一个属性还还有默认值。有默认值属性的注解在使用时可以不写这个属性。

         @MyAnnotation2(age = 50)

         @MyAnnotation2(name = "李四", age = 40)

         上面这两种使用方法都是正确的,并且只能修饰方法。这个注解的属性可以参与到程序运行当中,因为@Retention元注解的属性为RetentionPolicy.RUNTIME。

 

 

                                                                                                                                by Karl

转载于:https://my.oschina.net/karl0/blog/761431

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值