Java中常见的注解

一、注解

二、三种JDK内置的基本注解

 1、@Override

表示该方法是重写的父类方法。

为什么要写@Override?

其实方法前不写@Override是ok的,并且仍然是重写了父类方法。However!如果方法前有@Override注解,编译器就会去检查该方法是否真的是重写父类的方法,如果不是(因为这相当于是子类自己的方法,不是重写父类的),则会编译报错。说白了,@Override起着检查语法的作用称为源码中的Override是这样的:(@interface不是接口,而是注解类,是jdk1.5之后加入的;Override是注解,Target是修饰注解的注解,称为元注解)

Override注解的源码:

@Target(ElementType.METHOD)   //这行表示注解能修饰的元素类型,Override的Target ElementType是Method
@Retention(RetentionPolicy.SOURCE)
public @interface Override {
}

2、@Deprecated

表示某个方法、类、包、参数等已经过时。过时不代表不能用,只是不推荐使用。

为什么要写@Deprecated?

用于新旧版本的兼容和过渡。比如从jdk8升级到jdk11,可以通过@Deprecated注解发现过时方法,然后一步步修改升级到jdk11。

Deprecated注解的源码:

@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(value={CONSTRUCTOR, FIELD(属性), LOCAL_VARIABLE, METHOD, PACKAGE, MODULE, PARAMETER, TYPE(可以理解为类)})
public @interface Deprecated {
}

2、@SupressWarnings

抑制(不显示)编译器的警告。该注解的作用范围与它放的地方有关,例如放在main方法上,抑制警告的范围就是main方法;放在class上,抑制警告的范围就是该class;

为什么要写@SupressWarnings?

当不想看到编译器警告信息的时候,就可以用@SupressWarnings注解。

Tips:在@SupressWarnings{""}的{""}中,可以写入你希望抑制(不显示)的警告信息。

(该图只列举了部分)

 SupressWarnings注解的源码:

@Target({TYPE, FIELD, METHOD, PARAMETER, CONSTRUCTOR, LOCAL_VARIABLE, MODULE})
@Retention(RetentionPolicy.SOURCE)
public @interface SuppressWarnings {
    String[] value();  //该注解类有数组String[] value(); 所以可以选择要抑制的警告类型,对应了@SupressWarnings{""}的{""}
}

 三、元注解

用于修饰注解的注解。

@Retention元注解:

 

@Target元注解:

 

@Documented元注解:

​​​ @Inherited元注解:

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

m1m-FG

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值