说明
1、代理操作是通过java.lang.reflect.Proxy实现的,可以通过Proxy的newProxyInstance()创建代理对象。
2、可以看到需要三个参数:类加载器,接口和调用处理器。Class分类已经在上面了。用class.getClassLoader可以得到分类加载器,用class.getgetInterfaces()可以得到所有的界面。您现在想写的不是新的InvocationHandler对象吗?实际上,我们动态代理的核心代码是在这里写的。
实例
接口的实现类:
public class PersonImpl implements PersonInterface { @Override public void doSomething() { System.out.println("人类在做事"); } @Override public void saySomething() { System.out.println("人类在说话"); } }
以上就是java动态代理的实现,希望对大家有所帮助。更多Java学习指路:
本教程操作环境:windows7系统、java10版,DELL G3电脑。