java之注解

  • 注解:
    和class,interface等平级
    注解给计算机看的
    .
    作用:
    1.执行编译器的检查
    2.分析代码(替代配置文件)

  • jdk中的三个注解;
    1.@Override:声明该方法是重写的方法
    2.@Deprecated:声明该方法不推荐使用
    2.1)有新方法替代
    2.2)这个方法有问题
    3.@SuppressWarnings:压制警告
    3.1)@SuppressWarnings(“all”):抑制所有警告

  • 自定义注解
    语法:
    @interface 注解名{}
    使用注解
    直接在目标上添加
    @注解名
    本质上也是一个接口,接口中就可以定义变量(常量)和方法了,注解中的方法叫做注解属性
    注解属性的类型:(6种)
    基本类型
    String
    Class
    Annotation
    Enum
    以上类型的一维数组
    注意:
    若注解有属性,使用的时候,注解属性必须有值

  • 注解属性赋值的时候注意事项;

    • 注解属性的赋值:
      • 若属性不是数组类型
        • 若只有一个属性
          @注解(属性名 = 值)
          例如:@MyAnnotation3(i = 12)
        • 若有多个个属性
          @注解(属性名 = 值,属性名2 = 值2)
          例如:@MyAnnotation3(i = 12, s = “hello”)
      • 属性类型为数组的时候
        • 格式:
          @注解名(属性={值1,值2})
        • 若属性类型为数组,且只有一个值可以有如下两种写法
          @MyAnnotation4(ii = { 0 })
          @MyAnnotation4(ii = 0)
        • 若有多个个属性,用逗号隔开
          若只有一个属性且属性名为value的时候,使用的时候可以省略value,若有多个属性的时候,不能省略属性名
          注解属性可以设置默认值
          属性类型 属性名() default 值;
          例如:
          int i() default 6;
  • 注解的元注解
    定义在注解上的注解

    • @Target:定义该自定义的注解作用在什么上面
      值是枚举类型
      常用的:
      METHOD:方法上
      TYPE:类 接口等
      FIELD:字段
    • @Retention:定义该自定义注解保留到那个阶段
      值为枚举类型:
      常用的:
      SOURCE:源码上
      CLASS:源码上和字节码文件上
      RUNTIME:所有的阶段都保存
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值