gpt4 book ai didi

java - 反射在 Java 中有哪些适当和不适当的用途?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:47:34 25 4
gpt4 key购买 nike

Java的反射API显然是一个非常强大的工具,但并不是特别面向对象。在哪些情况下适合(反之,不适合)使用反射?

最佳答案

在我看来...

适当(干净):

  • 实例化动态加载实现的根,例如小程序。
  • 使用 Proxy 创建代理或模拟实现(在编译时可能更好)。
  • 实现允许不受限制地访问 Java 库的解释器。 (请注意,从安全角度来看,解释后的代码现在具有作为解释器的有效特权 - 可能有点危险。)

适当的技巧:

  • 在绝对必要的地方绕过第三方代码中的 Java 语言访问控制。
  • 实现“横切关注点”,例如持久性。
  • 删除加载类导致启动较慢的静态依赖项。

不当:

  • 一般规避 Java 语言访问控制(包括测试)。
  • 任何依赖于特定反射调用类提供的 Java 语言访问权限的东西。
  • 任何可以实现接口(interface)的地方。

通常反射比生成源代码容易得多,而生成源代码又比创建字节码容易得多。

关于java - 反射在 Java 中有哪些适当和不适当的用途?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3324551/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com