注解

来源:互联网 发布:阅读打卡软件 编辑:程序博客网 时间:2024/06/03 17:02

注解:

1: jdk5提供了3个标准注解,也叫标注注解,不影响程序运行

* @Override  // 标记这是重写的父类的方法


 * @SuppressWarnings("unused") //压制  消除警告


 * @Deprecated   //标注此方法已过时





2:自定义注解     通过关键词@interface修饰

创建:

[java] view plain copy
  1. public @interface MyAnnotation {  
  2. //      属性的类型和名字  
  3.     String name();  
  4.     int age();  
  5.     Class shuxing();  
  6.     Color color();    
  7.     String[] hobby();  
  8.     String value() default "nihao"//default "nihao"默认值  
  9. }  
  10. enum Color {  
  11.     REG,  
  12.     GREEN,  
  13.     BLUE  
  14. }  

使用方式:

[java] view plain copy
  1. @MyAnnotation(name = "zhangsan", age = 1, shuxing = Student.class, value = "lisi")  
  2. @MyAnnotation("zhangsan")//当属性的名字为value()时,可以直接写值  
  3. @MyAnnotation(hobby={"football""basketball"})  
  4. @MyAnnotation(color=Color.REG)  

3:jdk5提供的4个元注解,修饰注解的注解

元注解可以修饰自己定义的注解

[java] view plain copy
  1. @Retention(RetentionPolicy.SOURCE)  //代码期间存在  
  2. @Retention(RetentionPolicy.CLASS)   //编译时  
  3. @Retention(RetentionPolicy.RUNTIME) // 指定注解的存活时长(代码期间存在、编译器、运行时)  
  4. @Target({ElementType.METHOD, ElementType.FIELD, ElementType.TYPE}) // 指定注解可以修饰的类型  
  5. @Documented // 是否在javadoc文档中生成这个注解  
  6. @Inherited // 这个注释是否可以被子类继承  


使用元注解,修饰了自定义注解只能在方法上使用

[java] view plain copy
  1. @Target(ElementType.METHOD)  
  2. public @interface MyAnnotation {  
  3.     String value();  
  4. }  



原创粉丝点击