注解的本质

PPG007 ... 2021-12-28 Less than 1 minute

# 注解的本质

注解的本质就是一个 Annotation 接口。

/**Annotation接口源码*/
public interface Annotation {

    boolean equals(Object obj);

    int hashCode();

    Class<? extends Annotation> annotationType();
}
1
2
3
4
5
6
7
8
9

注解本身就是 Annotation 接口的子接口,也就是说注解中其实是可以有属性和方法,但是接口中的属性都是 static final 的,对于注解来说没什么意义,而我们定义接口的方法就相当于注解的属性,也就对应了前面说的为什么注解只有属性成员变量,其实他就是接口的方法,这就是为什么成员变量会有括号,不同于接口我们可以在注解的括号中给成员变量赋值。

Last update: December 28, 2021 13:51
Contributors: PPG007