代理:代理对象主要用来拦截被代理对象的访问
public class StaticProxy {
public static void main(String[] args) {
new WeddingCompany(new You()).happyMarry();
}
}interface Marry {
void happyMarry();
}// 真实角色
class You implements Marry {
@Override
public void happyMarry() {
System.out.println("我本人结婚了");
}
}//代理角色
class WeddingCompany implements Marry {
// 真实角色对象
private Marry target;
public WeddingCompany(Marry target) {
this.target = target;
}
@Override
public void happyMarry() {
ready();
this.target.happyMarry();
after();
}
private void ready() {
System.out.println("婚前布置");
}
private void after() {
System.out.println("婚后收拾");
}
}public class StaticProxy {
public static void main筛选出 (String[] args) {
new WeddingCompany(new You()).happyMarry();
}
}
interface Marry {
void happyMarry();
}
// 真实角色
class You implements Marry {
@Override
public void happyMarry() {
System.out.println("我本人结婚了");
}
}
//代理角色
class WeddingCompany implements Marry {
// 真实角色对象
private Marry target;
public WeddingCompany(Marry target) {
this.target = target;
}
@Override
public void happyMarry() {
ready();
this.target.happyMarry();
after();
}
private void ready() {
System.out.println("婚前布置");
}
private void after() {
System.out.println("婚后收拾");
}
}