繫結方法、非繫結方法與靜態方法
阿新 • • 發佈:2020-12-29
注意
真實物件和代理物件都要實現同一個介面
代理物件要代理真實角色
好處
代理物件可以做很多真實物件做不了的事情
真實物件專注做自己的事情
package Day5;
import java.security.PrivateKey;
//靜態代理模式 代理物件代替真實物件做事
public class Wedding {
public static void main(String[] args) {
/WeddingCompany weddingCompany = new WeddingCompany(new you());//代理物件代表真實物件建立物件
weddingCompany.Marry();
new Thread(()-> System.out.println(“拉姆達表示式”)).start();//lambda表示式
WeddingCompany weddingCompany = new WeddingCompany(new you());
weddingCompany.Marry();
}
}
interface Marry{//方法
void Marry();
}
class you implements Marry{//真實物件
@Override public void Marry() {//真實物件的方法 System.out.println("我要結婚啦"); }
}
class WeddingCompany implements Marry{ //代理物件
private Marry target;//代理真實角色–》you
public WeddingCompany(Marry target) { //代理物件傳遞引數 this.target = target; } @Override public void Marry() { brfore();//代理物件的方法 this.target.Marry();//代理物件使用真實物件的方法 after();//代理物件的方法 } private void after() { System.out.println("洞房"); } private void brfore() { System.out.println("收彩禮"); }
}