在JAVA代理中, 代理类和实现类是两个不同的类. 代理类实现了目标对象的接口, 但并不是目标对象的子类, 所以不能转换成目标类.
用JAVA代理创建一个代理对象的时候, 代理对象会实现目标对象的所有接口, 所以这个代理对象和目标对象是平级关系, 而不是父子关系, 所以不能相互转换.
CGLIB是通过继承方式实现的代理, 子类可以转换成父类, 所以可以转换成目标对象
但是不推荐转换成父类的操作. 推荐使用接口进行操作, 这样不仅更符合软件设计原则, 而且如果以后换成JDK动态代理也能正常工作