静态代理是Java众多设计模式中的简单一种。
静态代理的定义:通过代理的角色模式,来完成或者实现真实角色需要做或者完成的事。
静态代理的必要条件
1、代理对象和真实对象必须要实现同一个接口对象
2、代理对象要代理真实角色
实例
package cn.myz;
/**
*
*
* @param null
* @author Administrator
* @date 2020/10/12 22:15
* @return 接口类
*/
public interface Marray {
public void marray();
}
============================================
package cn.myz;
/**
* 代理类
*
* @author Administrator
* @version 1.0
* @date 2020/10/12 22:09
*/
public class Company implements Marray{
private Marray marray;
public Company(Marray marray){
this.marray=marray;
}
public void marray() {
this.marray.marray();
}
}
============================================
package cn.myz;
/**
* 真实对象
* @author Administrator
* @version 1.0
* @date 2020/10/12 22:10
*/
public class Customer implements Marray{
public void marray() {
System.out.println("<========>我是真实结婚对象<========>");
}
}
================================================
package cn.myz;
/**
* 测试
* @author Administrator
* @version 1.0
* @date 2020/10/12 22:12
*/
public class MainTest {
public static void main(String[] args) {
Marray marray = new Company(new Customer());
marray.marray();
}
}
=====================输出结果=========================
<========>我是真实结婚对象<========>
核心总结
静态代理典型的应用场景:多线程的使用
如以下:
RoaceThread roaceThread = new RoaceThread(250);
RoaceThread roaceThread2 = new RoaceThread(250);
new Thread(roaceThread,"兔子").start();
new Thread(roaceThread,"乌龟").start();
希望能对大家进一步学习和理解静态代理对象有帮助,欢迎大家关注我的订阅号(阿金学java)一起学习