package com.fill.staticproxy;
/*代理模式(Proxy):为其他对象提供一种代理以控制对这个对象的访问。说白了就是
*真实对象的代表,在访问对象时引入一定程度的间接性,因为这种间接性可以附加多种
*用途
*为其他对象提供一种代理以控制对这个对象的访问
*/
public class proxyDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
Person m_name=new Person("嫩水水");
Matchmaker mm=new Matchmaker(m_name);
mm.miai();
}
}
/*
*主题接口
*
*/
interface Subject{
public void miai();
}
/*
* 被代理类
*/
class Person implements Subject{
private String name;
public Person(String name){
this.name=name;
}
public void miai(){
System.out.println(name+"正在相亲");
}
}
/*
*
*代理类
*/
class Matchmaker implements Subject{
private Subject target;//因为它代理的对象都会实现这个接口.这里指代要代理的目标对象
public Matchmaker(Subject target){
this.target=target;
}
public void miai(){
before();
target.miai();//真正执行相亲还是要被代理者自己去
after();
}
public void before(){
System.out.println("相亲之前");
}
public void after(){
System.out.println("相亲之后");
}
}
静态代理
最新推荐文章于 2024-08-19 19:59:01 发布