在Java中可以“反思地”访问方法的源代码吗?

我担心答案是否定的,但也许你们其中一人对我感到惊讶。

谢谢。

编辑1:我知道这个问题没有多大意义,但我认为这一点已得到理解,遗憾的是答案是否定的。 无论如何,我改变了问题的标题,在“反思性”一词中添加引号,我将尽力更好地解释我的意图以防万一。

我有一个类型的实例,它是某种抽象类型的子类,它有一些已知的方法。 我希望在运行时获得一个String,其中包含实例类型中此类方法之一的实际实现的源代码。

我认为值得指出的是,实例的实际类型可能是一个不可思议的内部类……而且源代码的“反编译”版本也足够好了。 我想要获取源的方法,大部分时间,只有一行….

谢谢。

不,你不能。 它有点不合逻辑。

我不这么认为。 当编译.java时,它变成.class ; 据我所知,Java没有内置的反编译器将.class.java 。 可运行的应用程序知道的所有内容都是.class文件。