Java找出导入.class的内容

Java找出导入.class的内容,java,bytecode,java-bytecode-asm,bcel,Java,Bytecode,Java Bytecode Asm,Bcel,有没有办法找出类有哪些导入 问题:Jon Skeet说你不能用反射来做这件事,但是 如果要查找编译代码中使用的所有类型, 那是一个稍微不同的问题。您可能希望将BCEL视为 分析字节码的方法 这就是我想知道的方法。您可以使用如下Java反编译器: 您可以使用如下Java反编译器: 这是一个使用ASM进行解释的老教程。这是一个使用ASM进行解释的老教程。请参见@nolegs我编辑了我的问题以反映您的评论您的意思是在代码中(使用反射)还是仅从类文件中(使用反编译器或类似工具?)类保存在.class常量

有没有办法找出类有哪些导入

问题:Jon Skeet说你不能用反射来做这件事,但是

如果要查找编译代码中使用的所有类型, 那是一个稍微不同的问题。您可能希望将BCEL视为 分析字节码的方法


这就是我想知道的方法。

您可以使用如下Java反编译器:

您可以使用如下Java反编译器:

这是一个使用ASM进行解释的老教程。

这是一个使用ASM进行解释的老教程。

请参见@nolegs我编辑了我的问题以反映您的评论您的意思是在代码中(使用反射)还是仅从类文件中(使用反编译器或类似工具?)类保存在.class常量表中,并适当键入。有一个警告:导入的静态最终常量会被复制,这样它们的类导入可能会丢失。(至少在sun的java中是这样。)另请参见@nolegs我编辑了我的问题以反映您的评论您的意思是在代码中(如使用反射)还是仅从类文件中(使用反编译器或类似工具?)类保存在.class常量表中,并适当键入。有一个警告:导入的静态最终常量会被复制,这样它们的类导入可能会丢失。(至少在sun的java中是这样。)另请参见链接不起作用(这就是为什么答案不应该只是链接!)。存档:链接不起作用(这就是为什么答案不应该只是链接!)。档案文件: