关于JAVA的反射机制,动态代理是一大重要的功能,今天主要就来说一说动态代理。提到代理,想必大家都不陌生,简单的理解就是代理充当着代替办某件事的一个角色,既然有动态代理,那就有静态代理,先看看一个比较简单的静态代理:
假设我们有一个名为Consumer消费者的接口,其中包含购买饮料食物buyDrink和购买食物buyFood的方法:
public interface Consumer {
public void buyFood();
public void buyDrink();
}
这时有一个消费者A需要购买进口食品和饮料:
public class ConsumerA implements Consumer {
@Override
public void buyFood() {
System.out.println("买进口牛肉");
}
@Override
public void buyDrink() {
System.out.println("买进口果汁");
}
}
购买进口食品需要通过代购,假设有一个消费者A的代理类:
public class ConsumerAProxy implements Consumer {
private ConsumerA consumer