注解

注解:

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. }  



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值