轻松看懂Java注解

简明解释

抛开那些抽象的概念不说,注解就是注释。先来看看下面的例子:

注释:这个注释用来说明下面的方法会删除某些东西

//这个方法会删除一些东西
void remove() {
do remove
}

注解:这个注解用来说明下面的方法Override(重写)了父类的remove方法

@Override
void remove() {
do remove
}

可以看出注解和注释很相似,都是用来说明某个事情的。只不过注释是在"//“后面写想写的东西,而注解是用”@xxx"来说明。

更详解的解释

注解有java自带的,也可以自己声明,称为自定义注解

Java自带的有标准注解和元注解,上面的“@Override”就是一个标准注解,它表示当前的方法定义将覆盖父类中的方法。

我们先来看一下这个注解的定义(和接口的定义相似,只不过“interface”是定义接口的,“@interface”是定义注解的):

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.SOURCE)
public @interface Override {
}

可以看到这个注解定义被两个注解修饰,修饰注解的注解也称为元注解,即“@Target”和“@Retention”为元注解。

和上面“@Override”类似,用相同的格式可以定义自己的注解:

public @interface MyAnnotation{
}

上面的自定义注解名字为@MyAnnotation,也就是说可以用“@MyAnnotation”来修饰你想修饰的事情。(但这个注解还比较简单,没有使用元注解)

Java自带的标准注解

包括@Override、@Deprecated和@SuppressWarnings,分别用于标明重写某个方法、标明某个类或方法过时、标明要忽略的警告,用这些注解标明后编译器就会进行检查。

元注解

元注解是用于定义注解的注解,包括@Retention、@Target、@Inherited、@Documented,@Retention用于标明注解被保留的阶段,@Target用于标明注解使用的范围,@Inherited用于标明注解可继承,@Documented用于标明是否生成javadoc文档。

关于注解本篇文章就介绍到这,想深入了解注解可以自己去找相关的资料。

关于这篇文章的解释

因为很多文章都喜欢在开头罗列一大堆解释、文档,都非常抽象,导致我刚开始看注解的时候根本看不明白,所以写了这篇简单的入门文章先让大家弄懂注解是什么,再开始学习更深层的东西。

猜你喜欢

转载自blog.csdn.net/m0_50401435/article/details/131685647