Kite学习框架的第九天
今天穿插讲一下两个方式的动态代理
1.基于接口的动态代理
2.基于子类的动态代理
1. 基于接口的动态代理
1.1首先创建一个生产厂商类
含有两个方法
1.销售商品
2.提供售后服务
package cn.kitey.proxy;
/**
* 一个生产厂家
*/
public class Producer implements ProducerInterface{
/**
* 销售
*/
public void saleProduct(double money){
System.out.println("销售产品,获取金钱:" + money);
}
/**
* 售后服务
* @param money
*/
public void afterService(double money){
System.out.println("提供售后服务:" + money);
}
}
1.2 创建一个消费者类Client
现在创建的一个类:代表消费者直接在厂商购买商品
现在产生了一个需求:
厂商与消费者之间产生了经销商,则通过经销商,生产厂家只能拿到消费者消费数额的百分之八十,所以我们这时可以使用动态代理
关于动态代理的注解都在下面代码中:
我强调一下最重要的就是填写动态代理的增强方法
new InvocationHandler() {
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
return null;
}
package cn.kitey.proxy;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;
/**
* 模拟消费者
*/
public class Client {
public static void main(String[] args)