当前位置: 首页 > news >正文

Java.动态代理

1.创建一个接口

package Mydynamicproxy1;public interface Star {public abstract String sing(String str);public abstract void dance(String str);
}

2.创建一个BigStar类,要实现Star这个接口

package Mydynamicproxy1;public class BigStar implements Star{private String num;@Overridepublic String sing(String song){System.out.println("正在唱歌"+song);return "唱完了谢谢";}@Overridepublic void dance(String dan){System.out.println("正在跳舞"+dan);}public BigStar() {}public BigStar(String num) {this.num = num;}/*** 获取* @return num*/public String getNum() {return num;}/*** 设置* @param num*/public void setNum(String num) {this.num = num;}public String toString() {return "BigStar{num = " + num + "}";}
}

 3.代理的类

package Mydynamicproxy1;import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;public class ProxyUtil {public static Star createStar(BigStar bigstar) {Star star = (Star)Proxy.newProxyInstance(ProxyUtil.class.getClassLoader(),new Class[]{Star.class},new InvocationHandler() {@Overridepublic Object invoke(Object proxy, Method method, Object[] args) throws Throwable {if("sing".equals(method.getName())){System.out.println("准备话筒,收钱");}else{System.out.println("准备场地,收钱");}return method.invoke(bigstar, args);}});return star;}}

4.Test类

package Mydynamicproxy1;public class Test {public static void main(String[] args) {BigStar bigStar=new BigStar("cxk");Star proxy=ProxyUtil.createStar(bigStar);System.out.println(proxy.sing("aaa"));}
}


http://www.mrgr.cn/news/37103.html

相关文章:

  • JS面试真题 part7
  • 数据清洗与数据治理的关系
  • [附源码]在线音乐系统+SpringBoot+Vue前后端分离
  • 新手上路:Anaconda虚拟环境创建和配置以使用PyTorch和DGL
  • 第三十篇——总结:成功的捷径是没有捷径
  • Linux 学习 awk 和sed 命令使用
  • 操作配置笔记
  • 职业技能大赛-单元测试笔记(assertThat)分享
  • 【Vue】Vue3 的初始化过程
  • 深度学习中的正则化和归一化
  • 【Python报错已解决】ModuleNotFoundError: No module named ‘psutil’
  • 智界R7订单爆了,它凭什么抢了Model Y的风头?
  • vue初学随笔
  • 如何用一段文字或一张图片生成一段视频?
  • Acwing 154. 滑动窗口
  • 城市轨道交通网络客流大数据可视化分析系统----以某市交通网络客流数据为例
  • MySQL数据库的隔离级别
  • Java面试题之JVM面试题
  • java调用opencv部署到centos7
  • 【论文_1992】 REINFORCE » P2 附录