动态代理
动态代理模式的基本介绍
(1) 代理对象,不需要实现接口,但是目标对象要实现接口,否则不能用动态代理。
(2) 代理对象的生成,是利用JDK的API,动态的在内存中构建代理对象。
(3) 动态代理也叫作: JDK代理、接口代理
public class ProxyInvocationHandler implements InvocationHandler {
//被代理对象
private Object target;
public void ProxyInvocationHandler(Object target){
this.target =target;
}
//生成代理对象
public Object getProxy(){
return Proxy.newProxyInstance(this.getClass().getClassLoader(),target.getClass().getInterfaces(),this);
}
@Override
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
ProxyInvocationHandler proxyInvocationHandler = new ProxyInvocationHandler();
proxyInvocationHandler.setRent(master);
Rent proxy =(Rent) proxyInvocationHandler.getProxy();
proxy.rent();