是否可以使用Java Reflection API从.class文件生成.java文件?

时间:2015-04-08 09:18:39

标签: java reflection

我对我的java作业有疑问,要求我使用反射API从.class文件生成.java源文件。

我试图弄清楚它是否要求我使用反射来实例化该类的实例,或者实际生成源文件,因为我已经阅读了使用反射生成.java文件isn&# 39; t possible。

任何有经验的人都可以帮我澄清这一点,这真是太棒了。

2 个答案:

答案 0 :(得分:0)

可能你的作业要求用反射创建一个类的实例。

无法使用反射从.class创建.java文件。

使用反射,您可以访问Class对象(而不是文件)并读取或调用方法,字段和构造函数。

特别是使用反射,您无法访问方法,构造函数或初始化程序块中的代码。

答案 1 :(得分:0)

你是对的:那不是反射API的用途。您可以编写代码以使用反射API生成类的“存根”,例如类声明,方法声明(等) - 但是你不应该期望它自己生成它,也不应该让方法/构造函数的实现的反编译源代码变得容易。

我的猜测是“生成声明”是你被要求做的全部 - 尽管你应该与任何为你分配作业的人检查一下。