视频里面的代理类是要代理一个ArrayList,所以代理返回的对象是可以进行强转的,
而ArrayList又实现了Collection,如果你前面看过多态的话,应该知道这么定义是没有问题的。
至于你说的目标,
在Proxy.newInstance(ClassLoader loader,Class<?>[] interfaces,InvocationHandler h)中的第二个参数就是指定需要代理的目标(这里是ArrayList,ArrayList.getClass().getClassLoader)
而Collection总有add()和clear()方法,所以这里使用这两个方法没有错。 |