早教吧作业答案频道 -->其他-->
java类方法的注解的继承问题有一个父类,里面有个方法被加上注解;有一子类继承这父类,同时重写父类的方法。使用反射类库,查询子类的方法上的注解,分别通过getAnnotation和getDeclaredA
题目详情
java 类方法的注解的继承问题
有一个父类,里面有个方法被加上注解;有一子类继承这父类,同时重写父类的方法。
使用反射类库,查询子类的方法上的注解,分别通过getAnnotation和getDeclaredAnnotations,取得实际结果是一个注解都没有。
使用反射类库,查询父类的方法上的注解,分别通过getAnnotation和getDeclaredAnnotations,取得实际结果是符合相应的注解。
根据API文档描述:
getAnnotation 如果存在该元素的指定类型的注释,则返回这些注释,否则返回 null。
getDeclaredAnnotations 返回直接存在于此元素上的所有注释。与此接口中的其他方法不同,该方法将忽略继承的注释。(如果没有注释直接存在于此元素上,则返回长度为零的一个数组。)该方法的调用者可以随意修改返回的数组;这不会对其他调用者返回的数组产生任何影响。
实际上通过以上实验证明,方法的注解并没有被继承,这是为什么?
是API说明有误,还是实验有误?
有一个父类,里面有个方法被加上注解;有一子类继承这父类,同时重写父类的方法。
使用反射类库,查询子类的方法上的注解,分别通过getAnnotation和getDeclaredAnnotations,取得实际结果是一个注解都没有。
使用反射类库,查询父类的方法上的注解,分别通过getAnnotation和getDeclaredAnnotations,取得实际结果是符合相应的注解。
根据API文档描述:
getAnnotation 如果存在该元素的指定类型的注释,则返回这些注释,否则返回 null。
getDeclaredAnnotations 返回直接存在于此元素上的所有注释。与此接口中的其他方法不同,该方法将忽略继承的注释。(如果没有注释直接存在于此元素上,则返回长度为零的一个数组。)该方法的调用者可以随意修改返回的数组;这不会对其他调用者返回的数组产生任何影响。
实际上通过以上实验证明,方法的注解并没有被继承,这是为什么?
是API说明有误,还是实验有误?
▼优质解答
答案和解析
这个是没有实现的。
解释:注释本身具有针对性,也就是注释是自定义的,根据实际需要可以修改,此类内容并没有固定的内容规范,所以是没办法进行注释继承的,只能继承方法,不能继承注释的。
解释:注释本身具有针对性,也就是注释是自定义的,根据实际需要可以修改,此类内容并没有固定的内容规范,所以是没办法进行注释继承的,只能继承方法,不能继承注释的。
看了 java类方法的注解的继承问...的网友还看了以下:
提示:D-C=0A-B,A-D,D-C,D-E,E-F=1A-D,C-F=2A-B,D-E,E-F 2020-04-06 …
用这些英文字母拼词这些英文字母打乱了顺序.一个题目一个词.第一题:r,c,t,a,e,s,r第二题 2020-05-16 …
∮1dx/(x^2+y^2+z^2)ds,其中,曲线x=(e^t)sinty==(e^t)cost 2020-06-03 …
main(){unionEXAMPLE{struct{intx,y;}in;inta,b;}e;e 2020-06-12 …
用以下英文宇母填在上a,a,a,a,a,a,b,e,e,d,e,e,e,e,e,e,f,g,g用以 2020-06-24 …
令文法G[E]为:E→T|E+T|E-TT→F|T*F|T/FF→(E)|i证明E+T*F是它的一 2020-07-08 …
d/dx(e^y+xy-e)=e^ydy/dx+y+xdy/dx,这是教科书上的等式,对等式左边x 2020-07-19 …
jQuery一段很短的代码,$("").focus(function(even){});docum 2020-07-23 …
2-1设文法G[E]的产生式集为:EàE+T|E-T|TTàT*F|T/F|FFà(E)|i(1)给 2020-11-26 …
“我们可以得到A和B分别与C、D、E之间的关系”这句话用英语怎么表达“我们可以得到A和B分别与C、D 2020-12-25 …