java静态代理模式

本文介绍了Java中的静态代理模式,详细阐述了其实现步骤,包括真实对象和代理对象需实现同一接口,以及代理对象如何代理真实角色。通过赛车手参赛的例子,解释了静态代理模式的应用,并给出了具体的代码实现。静态代理的好处在于代理对象可以扩展真实对象的功能,让真实对象更专注于自身的核心任务。
摘要由CSDN通过智能技术生成

静态代理模式

实现步骤

1.真实对象和代理对象需实现同一接口
2.代理对象要代理真实角色

例子:

一个赛车手需要去参加一场比赛,需要准备比赛用的车和买保险一系列的工作,这时候可以找一个车队去代理帮忙做这些赛前以及赛后的繁琐工作,而赛车手只需要比赛;

代码:

1.接口(比赛接口):

public interface Match {
//比赛方法
    void goMatch();
}

2.赛车手类:

public class Participant implements Match {
    @Override
    public void goMatch() {
        System.out.println("最牛的男人在比赛中!");
    }
}

3.车队类:

public class Motorcade implements Match {
    //代理的目标对象
    private Match target;

    public Motorcade(Match target) {
        this.target = target;
    }
    @Override
    public void goMatch() {
        preMatch();
        target.goMatch();
        afterMatch();
    }
    //比赛前准备
    void preMatch(){
        System.out.println("车队准备了一辆车!");
    }
    //比赛后庆祝
    void afterMatch(){
        System.out.println("车队喝完酒后去沐足!");
    }
}

4.测试主方法:

public static void main(String[] args) {
		//创建赛车手实例
        Participant participant = new Participant();
        //将赛车手交给车队代理
        Motorcade motorcade = new Motorcade(participant);
        //车队调用比赛方法
        motorcade.goMatch();
    }

在这里插入图片描述

静态代理好处:

  • 代理对象可以做真实对象做不了的事
  • 真实对象专注做自己的事情
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值