Java-注解

1)注解的作用
①生成文档。Java最早提供的注解,如:@see @return等
②跟踪代码依赖性,实现替代配置文件功能。比较常见的是spring2.5开始的基于注解配置,作用:减少配置文件
③在编译时进行格式检查。如:@override放在方法前,如果这个并不是覆盖超类方法,则编译时就能检查出来

2)怎么自定义注解
 [修饰符列表] @interface 注解类型名{

 }

public @interface MyAnnotation {

    /**
     * 在注解当中可以定义属性,以下这个是MyAnnotation的name属性。
     * 看着像1个方法,但实际上是属性name。
     * @return
     */
    String name();
    
    /*
    年龄属性
     */
    int age() default 25; //属性指定默认值

}

注意:①注解Annotation是一种引用数据类型。编译之后也是生成xxx。class文件
  ②当使用注解时,如果一个注解当中有属性,必须给属性赋值。(除非该属性有默认值)
  ③注解当中的属性可以是:八大基本数据类型、String、Class、枚举类型 及每一种的数组形式

3)怎么使用注解,用在什么地方
一:注解使用时的语法格式:
  @注解类型名

二:注解可以出现在类上、方法上、属性上、变量上、还可以出现在注解类型上

4)JDK中提供3个内置注解
①Deprecated,只能用在方法上
作用:不鼓励使用这样的方法,通常是因为它很危险或存在更好的选择

②Override,只能用在方法上
作用:可以保证编译时Override函数的声明正确性

③SuppressWarnings 可以注释一段代码
作用:关闭特定的警告信息,比如:在使用泛型时未指定类型

5)元注解
5.1、什么是元注解
 &emps;用来标注“注解类型”的注解,称为元注解

5.2、常见的元注解
①Target
②Retention

5.3、
①关于Target注解:
Target注解用来标注“被标注的注解”可以出现在那些位置上
如:
@Target(ElementType.METHOD):表示“被标注的注解"只能出现在方法上
@Target(value={CONSTRUCTOR,FIELD,METHOD,TYPE}) :表示该注解可以出现在构造方法上、字段上、方法上、类上

②关于Retention注解:
Retention注解用来标注“被标注的注解”最终保存在哪里

@Retention(RetentionPolicy.SOURCE):表示该注解只被保留在Java源文件中。
@Retention(RetentionPolicy.CLASS):表示该注解被保存在class文件中。
@Retention(RetentionPolicy.RUNTIME):表示该注解被保存在class文件中,并且可以被反射机制所读取。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值