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("高鹏看电影");
    }
}
posted @ 2021-09-17 23:36  争取做百分之一  阅读(23)  评论(0)    收藏  举报