【问题标题】:Is it possible to "manually" create instances of java.lang.Method in Java?是否可以在 Java 中“手动”创建 java.lang.Method 的实例?
【发布时间】:2012-01-30 22:21:12
【问题描述】:

我知道这听起来可能有点奇怪,但我想知道是否可以在运行时手动创建 java.lang.Method

那么Class<?>呢?

【问题讨论】:

  • 很想知道你为什么要这么做。在运行时生成代码?
  • 使用JavaCompiler在内存中编译代码。然后,您可以随心所欲地使用生成的类及其方法和属性。也很想知道这个功能的用例。每当一个问题以 “这听起来有点奇怪” 开头时,提供用例是一个很好的提示。 ;)

标签: java reflection


【解决方案1】:

可以在运行时使用以下库创建Class<?>

这些,可以包含您可以像通常使用反射一样检索的方法。

也可以看看:https://stackoverflow.com/a/2532269/272388

【讨论】:

  • 我很了解这些库。我只是想知道是否可以仅使用 Java 的反射来做到这一点。
  • 不,这是不可能的:java.lang.reflect: Provides classes and interfaces for obtaining reflective information about classes and objects. 你可以使用ClassLoader 来加载类,但你仍然需要创建字节码。
猜你喜欢
  • 1970-01-01
  • 2018-04-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-21
相关资源
最近更新 更多