静态代理
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基础-静态代理