静态代理
-
目标对象和代理对象都要实现同一个接口
-
代理对象要代理真实角色
-
代理对象可以做很多真实对象做不到的事情
-
真实对象专注自己的事情
例子:婚庆公司代理结婚
public class staticProxy {
public static void main(String[] args) {
//通过WeddingCompany调用marry()而非Customer自己调用
new WeddingCompany(new Customer()).marry();
}
}
//定义一个公共接口Marry
interface Marry{
public void marry();
}
//真实对象实现Marry
class Customer implements Marry{
@Override
public void marry() {
System.out.println("结婚啦~~~~~");
}
}
//代理对象实现Marry
class WeddingCompany implements Marry{
private Customer cus;
public WeddingCompany(Customer cus) {
this.cus = cus;
}
@Override
public void marry() {
preparation();
cus.marry();
}
private void preparation() {
System.out.println("婚前准备工作");
}
}
注意:使用runnable接口实现线程创建就用到了静态代理
标签:Customer,Java,静态,Marry,代理,public,cus,marry From: https://www.cnblogs.com/xiluoluo/p/16859930.html