mybatis jdk动态代理接口时碰到的继承问题
背景:
基类指针指向派生类对象
仍然调用了基类同名方法
基类方法没有mybatis query注解处理名叫entity对象,再一次看出调用的基类的方法
问题:
1 为什么基类的方法也被mybatis代理了
在 中指出,jdk动态代理使用Class.getMethod方法
getMethods()会获取到本类及所有基类的public方法
2 为什么会出现基类和派生类两个方法,而没有覆盖
?类和?类的?法必须要具有相同的函数名称、参数列表,并且?类的返回值与?类相同或者是?类返回类型的?类型(jdk1.5之后)
--------------------------------------------------------
链接:https://wenku.baidu.com/view/d3dcb0025bfb770bf78a6529647d27284b7337e9.html
3 为什么调用基类而不是派生类方法,明明派生类方法的参数范围更小更精准
这与java 重载优先级有点关系,更复杂的是涉及到继承,不研究,应避免,这也是所有改写方法要加@Override的原因