使用Java动态代理:一个简单的代理对象创建案例

原创 左手的ㄟ右手 2024-09-26 18:30 103阅读 0赞

在Java中,动态代理主要通过Proxy类和InvocationHandler接口来实现。以下是一个简单的代理对象创建案例:

  1. // 定义目标接口
  2. interface Target {
  3. void method();
  4. }
  5. // 定义实际的实现类
  6. class RealTarget implements Target {
  7. @Override
  8. public void method() {
  9. System.out.println("RealTarget's method called");
  10. }
  11. }
  12. // 定义代理接口和实现类
  13. interface Proxy extends Target {
  14. // 实现InvocationHandler接口中的方法
  15. @Override
  16. public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
  17. System.out.println("Before calling RealTarget's method");
  18. // 调用实际目标的方法
  19. method.invoke(RealTarget.class, args));
  20. System.out.println("After calling RealTarget's method");
  21. return null;
  22. }
  23. }
  24. // 使用代理对象
  25. public class Main {
  26. public static void main(String[] args) {
  27. Target target = new Proxy();
  28. target.method(); // 调用代理对象的方法
  29. }
  30. }

在这个例子中,我们首先定义了一个目标接口Target和一个实际的实现类RealTarget。然后我们定义了一个代理接口Proxy,并实现了InvocationHandler接口中的方法,用来在调用真实方法前后进行额外的操作。

最后,在Main类中,我们创建了一个使用代理对象的目标,并调用了其method()方法,从而展示了动态代理的使用。

文章版权声明:注明蒲公英云原创文章,转载或复制请以超链接形式并注明出处。

发表评论

表情:
评论列表 (有 0 条评论,103人围观)

还没有评论,来说两句吧...

相关阅读