Java中的多线程学习笔记003:静态代理

it2024-10-20  38

https://space.bilibili.com/95256449/channel/detail?cid=146244

静态代理

package com.stark.study001; /** * 静态代理总结: * 真实对象和代理对象都要实现同一个接口 * 代理对象要代理真实对象 * * 好处: * 代理对象可以做很多真实对象做不了的事情 * 真实对象专注于做自己的事 * **/ public class StaticProxy { public static void main(String[] args) { // //真实对象 // You you = new You(); you.happyMarry(); // //代理对象 // WeddingCompany weddingCompany = new WeddingCompany(you); // weddingCompany.happyMarry(); new WeddingCompany(new You()).happyMarry(); //和Thread类的对象对比 new Thread(()-> System.out.println("我爱你")).start(); } } interface Marry { void happyMarry(); } //真实角色,你去结婚 class You implements Marry { @Override public void happyMarry() { System.out.println("秦老师要结婚啦,超开心"); } } //代理角色,帮你结婚 class WeddingCompany implements Marry { //代理真实对象 private Marry target; public WeddingCompany(You you) { this.target = you; } @Override public void happyMarry() { before(); this.target.happyMarry(); after(); } private void before() { System.out.println("结婚之前,布置现场"); } private void after() { System.out.println("结婚之后,收尾款"); } }
最新回复(0)