叫动态代理就代表着有“静态代理”这回事. 而且,通常“动态”至少听着更NB一点. 关键就在于不明白啥叫“动”,这个得跟“静”比较下. 在我的理解,静态代理得自己声明一个类,实现跟被代理对象同样的接口.就是说自己得在编译之前写一个类的定义,由于是写好的,就可以称为“静”了. 动态代理呢,Proxy.newProxyInstance(ClassLoader loader, Class<?>[] interfaces, InvocationHandler h) 就搞到了一个实现了指定接口的对象, 并…