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

    技术2022-05-19  35

     

    基本注解:    @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)