有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

在java类中包含自动生成的方法

我有一个问题,我不确定能否回答

我在服务器上有一个php脚本,可以根据MySQL数据库中的表内容自动生成java方法。该脚本创建了一个。保存此方法的java文件

然后我下载这个方法,并将该方法复制粘贴到我的主java类中。我认为这是不必要的步骤。是否有一种方法可以将该方法包含在java类中,而不是复制和粘贴

我正在寻找写一个方法的参考。java类中应该复制和粘贴方法的点处的java文件

比如:

    public class ShowAlert {
            public void showAlert(String toast) throws IOException {
    System.out.println("alert = "+externalMethod());
    }

    include(externalMethod.java);

}

然后是外部方法。java有

public String externalMethod(){
return "hello world";
}

我不确定这是否可能,但如果可能的话,那就太好了


共 (4) 个答案

  1. # 1 楼答案

    可以使用Smarty这样的PHP模板引擎来创建完整的java类。您的主类将是您的模板,其中包含一个用于生成方法的占位符

  2. # 2 楼答案

    Java中没有“包含文件”功能。我建议您生成以下内容:

    public class GeneratedClass {    
        public static String externalMethod(){
            return "hello world";
        }
    }
    

    这样称呼:

    GeneratedClass.externalMethod();
    

    这样,手写文件和生成的文件就可以完全分开

  3. # 3 楼答案

    理想情况下,您应该将生成的代码和手动编写的代码保存在单独的文件中。这样你就不必做你正在做的事情。使用Aasmund的建议。这是正确的方法。您可能需要重新构造代码来实现这一点,但现在比以后更好

    我想请你多做一点,使用接口。生成的代码应该实现一个接口,而手动代码应该仅使用该接口引用所有内容。可以有一个返回实例的工厂

    这将允许您增加手动代码和生成代码的解耦。我认为,在一定程度上,如果使用DAO(数据访问对象)模式,您会做什么。如果将生成的代码分开,并使用接口访问它,DAO模式工作得最好。使用接口将允许您在运行时将DAO的实现更改为其他内容,例如运行单元测试

  4. # 4 楼答案

    您应该考虑使用像java ^ {< CD1>}(JSR 223中描述的)。例如here

    还有针对Java的LUA集成