java 类方法的注解的继承问题
java 类方法的注解的继承问题
有一个父类,里面有个方法被加上注解;有一子类继承这父类,同时重写父类的方法。
使用反射类库,查询子类的方法上的注解,分别通过getAnnotation和getDeclaredAnnotations,取得实际结果是一个注解都没有。
使用反射类库,查询父类的方法上的注解,分别通过getAnnotation和getDeclaredAnnotations,取得实际结果是符合相应的注解。
根据API文档描述:
getAnnotation 如果存在该元素的指定类型的注释,则返回这些注释,否则返回 null。
getDeclaredAnnotations 返回直接存在于此元素上的所有注释。与此接口中的其他方法不同,该方法将忽略继承的注释。(如果没有注释直接存在于此元素上,则返回长度为零的一个数组。)该方法的调用者可以随意修改返回的数组;这不会对其他调用者返回的数组产生任何影响。
实际上通过以上实验证明,方法的注解并没有被继承,这是为什么?
是API说明有误,还是实验有误?