说明
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动态代理的实现,希望对大家有所帮助。