早教吧 育儿知识 作业答案 考试题库 百科 知识分享

java类方法的注解的继承问题有一个父类,里面有个方法被加上注解;有一子类继承这父类,同时重写父类的方法。使用反射类库,查询子类的方法上的注解,分别通过getAnnotation和getDeclaredA

题目详情
java 类方法的注解的继承问题
有一个父类,里面有个方法被加上注解;有一子类继承这父类,同时重写父类的方法。

使用反射类库,查询子类的方法上的注解,分别通过getAnnotation和getDeclaredAnnotations,取得实际结果是一个注解都没有。

使用反射类库,查询父类的方法上的注解,分别通过getAnnotation和getDeclaredAnnotations,取得实际结果是符合相应的注解。

根据API文档描述:
getAnnotation 如果存在该元素的指定类型的注释,则返回这些注释,否则返回 null。
getDeclaredAnnotations 返回直接存在于此元素上的所有注释。与此接口中的其他方法不同,该方法将忽略继承的注释。(如果没有注释直接存在于此元素上,则返回长度为零的一个数组。)该方法的调用者可以随意修改返回的数组;这不会对其他调用者返回的数组产生任何影响。


实际上通过以上实验证明,方法的注解并没有被继承,这是为什么?
是API说明有误,还是实验有误?
▼优质解答
答案和解析
这个是没有实现的。
解释:注释本身具有针对性,也就是注释是自定义的,根据实际需要可以修改,此类内容并没有固定的内容规范,所以是没办法进行注释继承的,只能继承方法,不能继承注释的。