注解及java提供的几个基本注解

 

基本注解:
   @SuppressWarnings
    @Deprecated 
    @Override

       //压缩警告告诉javac编译器忽略方法过时
       @SuppressWarnings ( "dprecation" )
       public   static   void   main(String[] args) {
            System.runFinalizersOnExit( true );
        sayHello();
      }
       //把某个方法设成过时的
       @Deprecated
       public   static   void   sayHello(){
            System. out .println( "hello" );
      }
       //对父类的重写
       @Override
       public   int   hashCode() {
             final   int   prime = 31;
             int   result = 1;
            result = prime * result +   x ;
            result = prime * result +   y ;
             return   result;
       }
总结:注解相当于一种标记,在程序中加了注解就等于为程序打上了某种标记,没加,就等于没有某种标记,以后javac编译器,开发工具和其他程序可以用反射来了解你的类及各种元素上有无何种标记,看你有什么标记,就是去干什么样的事。标记可以加在包、类、字段、方法、方法的参数以及局部变量上。
java.lang.Annotation包中有JDK提供的基本注解。


@Retention元注解:三种取值->
    RetentionPolicy.SOURCE、RetentionPolicy.CLASS、RetentionPolicy.RUNTIME
    分别对应:java源文件->class文件->内存中的字节码;这为注解的生命周期。

为注解增加基本属性:
    数组类型的属性:
        int[] arrayAttr() default {1,2,3}
        @MFDAnnotation(arrayAttr={2,3,4})
        如果数组属性中只有一个元素,这时候属性值部分可以省略大括号
    枚举类型的属性:
        EnumTest.TrafficLamp lamp();
        @MFDAnnotation(lamp= EnumTest. TrafficLamp.GREEN )
    注解类型的属性:
        MetaAnnotation annotationAtrr() default @MetaAnnotation("xxxx");
        @MFDAnnotation(annotationAttr=@MetaAnnotation("yyyy"))
        MetaAnnotation ma=myAnnotation.annotationAtrr();



 
 
















  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值