【Java】基于注解开发初探

注解

  • 注解:给计算机或编译器解释说明程序
  • 注释:给程序员解释说明程序

注解作用的分类

  1. 编写文档:通过代码里标识的注解生成文档【生成DOC文档】
  2. 代码分析:通过代码里标识的注解 void eat();对代码进行分析【使用反射】
  3. 编译检查:让编译器实现基本的检查【override】
package annotation;

/**
 * 注解演示JavaDoc
 *
 * @author liuhulin
 * @version 1.0.0
 * @since 1.5
 */
public class AnnotationTest {
    /**
     * 计算两数之和
     *
     * @param a 整数
     * @param b 整数
     * @return 返回两数之和
     */
    public int add(int a, int b) {
        return a + b;
    }
}

JDK内置注解

  • @Override:检测被注解标注的方法是否继承自父类
  • @Deprecated: 将注解内容建议不要使用过时方法
  • SupperPressWarnings(“all”):压制警告

自定义注解

  • 格式:元注解(用来接实注解的注解)

public @interface 注解名称{}

  • 注解本质上就是一个接口,默认继承Annotation接口
  • 属性:接口中定义的抽象方法
    1. 属性的返回值类型
    • 基本数据类型
    • 字符串String
    • 枚举
    • 注解
    • 以上类型的数组
    1. 定义了属性,在使用时需要给属性赋值
    • 如果定义属性时,使用default关键字默认初始化值,则使用注解时可以不赋值
    • 如果只有一个属性需要赋值,且属性的名称是value,则value可以省略,直接定义值即可
    • 数组赋值时,使用{}包裹,如果数组中只有一个值,括号可以省略

元注解:用来描述注解的注解

  • @Target:描述注解能够作用的位置

ElementType的取值

  1. TYPE:可以作用在类上
  2. METHOD:可以作用在方法上
  3. FIELD:可以作用在成员变量上
  • @Retention:描述注解被保留的阶段

@Retention(RetentionPolicy.RUNTIME)

当前描述的注解可以被保留到class字节码文件中,并被JVM读取

  • @Documented:描述注解是否被抽取到API文档中
  • @Inherited:描述注解是否被子类继承
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值