比如说对象A,有个方法a,代理对象B。当使用提供的代理工具之后,调用B.a实际上使用的反射调用的还是A.a。但是不理解的是,B明明没有a这个方法,为什么有B.a这种语法并且可以执行了呢?反射功能很强大也不可能在运行时让一个类继承另一个类,或者实现某个接口,或者添加某个方法的。对于反射实现的动态代理有点疑问,这个莫名其妙出现的方法是怎么回事?