package Day21_DynamicProxy; //类的作用:创建一个代理 import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; import java.lang.reflect.Proxy; public class ProxyUtil { //给对象创建一个代理 //形参:被代理的对象 //返回值:给对象创建的代理 public static Star createProxy(BigStar bigStar){ Star newstar = (Star) Proxy.newProxyInstance( ProxyUtil.class.getClassLoader(),//参数一:用于指定哪个类加载器,去加载生成的代理类 new Class[]{Star.class},//参数二:指定接口,这些接口用于指定生成的代理长什么样,也就是有哪些方法 new InvocationHandler() { @Override public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { return null; } }); return newstar; } }package Day21_DynamicProxy; public class BigStar implements Star { private String name; //实现Star接口, @Override public void dance(String name){ System.out.println(name+"跳舞"); } @Override public String sing(String name){ System.out.println(name+"唱歌"); return "优秀"; } public BigStar() { } public BigStar(String name) { this.name = name; } /** * 获取 * @return name */ public String getName() { return name; } /** * 设置 * @param name */ public void setName(String name) { this.name = name; } public String toString() { return "BigStar{name = " + name + "}"; } }package Day21_DynamicProxy; public interface Star { public abstract void dance(String name); public abstract String sing(String name); }这里后续再来研究吧!!!