java实现 * 示例分享

时间:2023-04-28 15:54:49 


import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;

public class LogHandler implements InvocationHandler {
    private Object delegate;

    public Object bind(Object delegate) {
        this.delegate = delegate;
        return Proxy.newProxyInstance(delegate.getClass().getClassLoader(),
                delegate.getClass().getInterfaces(), this);
    }

    @Override
    public Object invoke(Object proxy, Method method, Object[] args)
            throws Throwable {
        Object result = null;
        try {
            System.out.println("方法开始:" + method);
            result = method.invoke(delegate, args);
            System.out.println("方法结束:" + method);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return result;
    }
}


public interface Animal {
    public void hello();
}

* 作为代理模式的一种扩展形式,广泛应用于框架(尤其是基于AOP的框架)的设计与开发,本文将通过实例来讲解Java * 的实现过程。


public class Monkey implements Animal {

    @Override
    public void hello() {
        // TODO Auto-generated method stub
        System.out.println("hello");
    }
}


public class Main {
    public static void main(String[] args) {
        LogHandler logHandler = new LogHandler();
        Animal animal = (Animal) logHandler.bind(new Monkey());
        animal.hello();
    }
}



java实现 * 示例分享

标签:java, ,
0
投稿

猜你喜欢

  • java-制表符\\t的使用说明

    2023-12-03 10:18:02
  • IDEA + Maven环境下的SSM框架整合及搭建过程

    2023-08-26 02:06:55
  • Android显示GIF图片实例代码

    2021-10-14 16:47:03
  • C++深入细致探究二叉搜索树

    2021-12-31 00:09:24
  • SpringBoot实现文件上传下载功能小结

    2022-11-09 07:40:07
  • Android实现热门标签的流式布局

    2023-01-29 02:32:36
  • Java实现五子棋的基础方法

    2021-07-11 12:32:08
  • C#实现五子棋游戏

    2022-07-26 12:55:34
  • Spring StopWatch使用实例详解

    2022-03-31 02:46:57
  • java实现图片分割指定大小

    2021-07-02 16:56:34
  • java多种幻灯片切换特效(经典)

    2022-08-05 23:18:22
  • 详解基于MVC的数据查询模块进行模糊查询

    2022-02-13 19:26:49
  • java 线程创建多线程详解

    2021-08-06 22:02:22
  • Java游戏俄罗斯方块的实现实例

    2022-11-26 12:35:49
  • 如何在C#中使用OpenCV(GOCW使用教程)

    2023-09-09 23:39:30
  • Android开发者需要知道的8个项目管理技巧

    2022-04-11 19:51:02
  • C#实现打印与打印预览功能的思路及代码

    2021-09-17 02:51:06
  • C#判断ip地址是否可以ping的通

    2021-08-29 10:53:13
  • Android ViewPager中显示图片与播放视频的填坑记录

    2023-12-23 14:28:40
  • C#实现按照指定长度在数字前补0方法小结

    2023-02-23 09:42:32
  • asp之家 软件编程 m.aspxhome.com