Java注解学习-@Inherited
@Inherited
注解是Java提供的注解在注解之上的注解(元注解)。表示这个注解会被继承。
含义很简单,但是有容易歧义的地方:注解被继承的表现是什么?什么情况下会被继承?
我一开始的理解是所有的注解被@Inherited
注解后,都会有“可以被继承”这个特性。比如方法上的注解会被子类覆盖的方法继承。然而,实验证明,这个理解是错的。
来看看@Inherited
的源码:
1 | /** |
看了网上各种文章,发现最靠谱的还是这段注释。注释总结来有这么几点:
- 被
@Inherited
注解的注解只有在class上使用才会有“自动继承的特性” - “自动继承的特性”是指如果在子类上搜索注解,其父类上的被
@Inherited
注解过的注解会考虑在内
参考资料
如果觉得文章对你有帮助,就打赏杯咖啡钱呗😊