首页 > 试题广场 >

java语言中,关于元注解,下列说法中错误的是( ):

[单选题]
java语言中,关于元注解,下列说法中错误的是(   ):
  • @Target 用于描述该注解可以作用的目标类型。
  • @Retention用于描述该注解被保留的时间。
  • @Document用于描述该注解是否可以生成到文档里。
  • @Inherited用于描述该注解是否可以被其他注解继承。
@inherited指的是被该注解修饰的类,如果有子类,那么子类可以继承该类的注解信息(个人愚见,欢迎指教)
发表于 2021-06-16 17:08:53 回复(0)
在注解上使用@Inherited 表示该注解会被子类继承,注意,仅针对类,成员属性、方法并不受此注释的影响。

对于类来说,子类要继承父类的注解需要该注解被 @Inherited 标识。
对于成员属性和方法来说,非重写的都会保持和父类一样的注解,而被实现的抽象方法,被重写的方法都不会有父类的注解。

JDK7 官方解释:
公共@interface继承
表示自动继承注解类型。如果在注解类型声明中存在继承的元注解,并且用户在类声明上查询注解类型,而类声明没有针对该类型的注解,则将自动查询该类的超类以获取该注解类型。将重复此过程,直到找到此类型的注释,或到达类层次结构(对象)的顶部。如果没有超类具有此类型的注释,则查询将指示所讨论的类没有此类注释。

请注意,如果注释类型用于注释除类以外的任何内容,则此元注释类型无效。还要注意,这个元注释只会导致从超类继承注释;已实现接口上的注释无效。


发表于 2021-12-21 20:51:06 回复(0)