java 接口代理
接口
public interface Cc {
void say();
}
实现类:
public class C implements Cc{
@Override
public void say() {
System.out.println("good");
}
}
代理类:
public class ProxyTest implements InvocationHandler {
//真实对象
private Cc targent;
public Cc getPerson(Cc targent){
this.targent=targent;
Class<?> clazz=targent.getClass();
return (Cc) Proxy.newProxyInstance(clazz.getClassLoader(),clazz.getInterfaces(),this);
}
@Override
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
Object obj = method.invoke(this.targent, args);
return obj;
}
}
测试结果:
ProxyTest proxyTest=new ProxyTest();
//只对Cc接口进行代理
Cc cc = proxyTest.getPerson(new C());
cc.say();
本文来自博客园,作者:余生请多指教ANT,转载请注明原文链接:https://www.cnblogs.com/wangbiaohistory/p/14615884.html

浙公网安备 33010602011771号