今天学习jdk的动态代理做练习时出现这个报错,java.lang.ClassCastException: com.sun.proxy.$Proxy0 cannot be cast to...:意思大致是说com.sun.proxy.$Proxy0不能进行强制转换...
找错误... ... 看了网上说的jdk动态代理的过程中,生成动态代理对象与目标对象要是同一个接口:也就是说在使用动态代理时,用来生成代理的委托对象必须是一个接口。
改错后:
public class Dog implements DogI{
public void say() {
System.out.println("miaomiaomiao");
}
public static void main(String[] args) {
DogI dog = (DogI)new DogJDKPROXY().getProxyObject(new Dog());
dog.say();
}
Dog是继承了DogI接口的。