静态代理模式
在Java中,静态代理指的是代理类的产生发生在源程序编译阶段,在编译之后生成目标程序中包括代理类的class文件。程序运行时,直接装载代理类,生成代理对象。
静态代理有两种实现方式:继承方式和聚合方式
实例:
有一辆坦克,他可以移动,我们想要在记录它移动一次的时间,即执行move()这个方法所用的时间,同时,又想要在它移动或者记录时间之前或之后记录一些日志。
实现方式:
定义移动的接口类
第一个实现类Tank.java
一、继承方式
TankExten.java
二、聚合方式
TankLogProxy.java
TankTimeProxy.java
计算move()方法的执行时间
测试代码:Client.java
总结:继承方式容易造成类的堆叠 假如有100个类 那我们要继承100次
聚合方式比较灵活,推荐使用