Java基础-静态代理

静态代理

package com.gaopeng.proxy;

//静态代理模式总结:
//真实对象和代理对象都要实现同一个接口
//代理对象要代理真实角色

//好处:
//代理对象可以做很多真实对象做不了的事情
//真实对象专注做自己的事情
public class Demo01 {
    public static void main(String[] args) {
        //Thread也实现了Runnable接口,Thread也是一个代理者
        new Thread(()-> System.out.println("这是一个线程")).start();
        new Proxy(new Person()).watchAFirm();
    }
}
interface Do{
    public void watchAFirm();
}
class Proxy implements Do{
    private Person person;
    Proxy(Person person){
        this.person=person;
    }

    public void watchAFirm(){
        getTicket();
        this.person.watchAFirm();
        goHome();
    }

    public void getTicket(){
        System.out.println("代理买票");
    }
    public void goHome(){
        System.out.println("代理送回家");
    }
}

class Person implements Do{
    public void watchAFirm(){
        System.out.println("高鹏看电影");
    }
}

Java基础-静态代理

上一篇:[转]单例模式——C++实现自动释放单例类的实例


下一篇:python tornado User-Agent