我对我的java作业有疑问,要求我使用反射API从.class文件生成.java源文件。
我试图弄清楚它是否要求我使用反射来实例化该类的实例,或者实际生成源文件,因为我已经阅读了使用反射生成.java文件isn&# 39; t possible。
任何有经验的人都可以帮我澄清这一点,这真是太棒了。
答案 0 :(得分:0)
可能你的作业要求用反射创建一个类的实例。
无法使用反射从.class创建.java文件。
使用反射,您可以访问Class对象(而不是文件)并读取或调用方法,字段和构造函数。
特别是使用反射,您无法访问方法,构造函数或初始化程序块中的代码。
答案 1 :(得分:0)
你是对的:那不是反射API的用途。您可以编写代码以使用反射API生成类的“存根”,例如类声明,方法声明(等) - 但是你不应该期望它自己生成它,也不应该让方法/构造函数的实现的反编译源代码变得容易。
我的猜测是“生成声明”是你被要求做的全部 - 尽管你应该与任何为你分配作业的人检查一下。