现在我正在尝试制作我的应用,以便用户可以修改某个部分。我希望可以修改的部分位于文本文件中,并使应用程序将该文本文件作为代码读取并执行它。我怎么能这样做?
编辑:我的应用加载了人们根据我的应用制作的java文件。我认为如果有人在主类中调用构造函数来启动应用程序的部分,它将覆盖我的主类,而其他人的工作将无法加载。我怎么能这样做才能有人放 示例示例= new Example(); 在数据文件中,以便他们可以启用/禁用他们的工作和其他任何人?
编辑2:我有一个带有构造函数的类。在主类中,我调用构造函数。
Example example = new Example();
在反编译的java文件中,应该有调用构造函数的代码。当人们根据我的软件开发东西时,他们会将代码添加到反编译的java文件中以使其工作。这基本上就像在主类中添加代码一样。
最终编辑:我停止尝试这个,而是自己创建自定义类加载器。它读取文本文件并查看要加载的类的名称,将字符串转换为类,在类中查找特定方法并调用它。谢谢你的帮助!
答案 0 :(得分:2)
更好,更轻松允许用户编辑数据文件,然后让您的程序使用该数据来改变其行为。如需更具体的帮助,请发布更具体的背景信息/背景信息。
答案 1 :(得分:1)
您可以在类加载器的帮助下加载其他类文件,然后使用反射来实例化它们并调用方法。 (或者,如果类实现了您已在应用程序中加载的接口,则可以直接调用该接口的方法,而无需使用反射。)
请注意,要使用类加载器,您需要一个类文件。如果您拥有的只是一个Java文件,那么在使用类加载器加载它之前,您需要使用编译器将其转换为类文件。