首页 > 编程语言 >Java静态代理

Java静态代理

时间:2022-11-05 12:12:19浏览次数:47  
标签:Customer Java 静态 Marry 代理 public cus marry

静态代理

  • 目标对象和代理对象都要实现同一个接口

  • 代理对象要代理真实角色

  • 代理对象可以做很多真实对象做不到的事情

  • 真实对象专注自己的事情

例子:婚庆公司代理结婚

public class staticProxy {
    public static void main(String[] args) {
        //通过WeddingCompany调用marry()而非Customer自己调用
      new WeddingCompany(new Customer()).marry();
    }
}

//定义一个公共接口Marry
interface Marry{
    public void marry();
}

//真实对象实现Marry
class Customer implements Marry{
    @Override
    public void marry() {
        System.out.println("结婚啦~~~~~");
    }
}

//代理对象实现Marry
class WeddingCompany implements Marry{
    private Customer cus;

    public WeddingCompany(Customer cus) {
        this.cus = cus;
    }

    @Override
    public void marry() {
        preparation();
        cus.marry();
    }

    private void preparation() {
        System.out.println("婚前准备工作");
    }
}

注意:使用runnable接口实现线程创建就用到了静态代理

标签:Customer,Java,静态,Marry,代理,public,cus,marry
From: https://www.cnblogs.com/xiluoluo/p/16859930.html

相关文章

  • vue 跨域代理,对象存储(阿里云、aws)预签名上传文件
    一、安装axoios    ①、全局安装axois#全局安装axiosPSE:\Code\Vues\sha_web\sha_web>npminstallaxios--g 二、配置跨域代理    ①、配置跨......
  • JAVA8-Lambda-forEach遍历List/Map
    一、遍历List代码示例publicstaticvoidmain(String[]args){List<String>list=Arrays.asList("北","上","广","深");list.forEach(System.out::prin......
  • JAVA8-Lambda-Filter过滤
    我们通常会将一个集合中不符合条件的对象过滤掉,只保留我们需要的对象。代码示例:publicstaticvoidmain(String[]args){ArrayList<Student>list=newArrayL......
  • JavaSE—运算符
    一、算术运算符运算符数学含义示例+加a+b-减a-b,-b*乘a*b/除a/b%取模a%b++自增a++,++a--自减a--,--a 二、比较运算符运......
  • Java MySQL Spring Struts Hibernate 动漫论坛的设计与实现文档 毕设实训实验
    JavaMySQLSpringStrutsHibernate动漫论坛的设计与实现文档实训实验能满足学习和二次开发可以作为熟悉Java的学习,作为老师阶段性学习的一个成功检验不再是单调的理解......
  • JAVA8-Lambda-List转Map
    List转Map需要注意点是在收集map时Collectors.toMap()建议选三个入参的方法。示例如下:(注意list中的“张三”有两个我们将其作为Map的key)####无第三个参数示例pu......
  • TypeScript与JavaScript区别
    TypeScript是JavaScript的一个超集,支持ECMAScript6标准。TypeScript由微软开发的自由和开源的编程语言。TypeScript设计目标是开发大型应用,它可以编译成纯JavaS......
  • Java创建线程
    线程创建:ThreadRunnabelCallableTreadclass自定义线程类继承Tread类重写run()方法,编写线程执行体创建线程对象,调用start()方法启动线程publicclassmyTre......
  • Java swing 连连看小游戏 开发小系统 项目源代码 实训实验毕设
    Javaswing连连看小游戏开发小系统项目源代码实训实验能满足学习和二次开发可以作为初学者熟悉Java的学习,作为老师阶段性学习的一个成功检验不再是单调的理解老师空泛......
  • ASEMI代理IXFK32N100P、IXYS/艾赛斯车规级MOS管
    编辑:llASEMI代理IXFK32N100P、IXYS/艾赛斯车规级MOS管型号:IXFK32N100P品牌:IXYS/艾赛斯封装:TO-264最大漏源电流:32A漏源击穿电压:1000VRDS(ON)Max:320mΩ引脚数量:3特性:......