从java程序中调用另一个类

时间:2013-09-13 07:42:53

标签: java class call

我有2个课程,一个是简单的课程

Sample.java

public class Sample {
  public static void main(String args[]) {

    System.out.println("Hello World!!!!!");
  }
}

其他人就是这样的

Main.java

public class Main
{  
  public static void main(String[] args) throws Exception
  {
     Runtime.getRuntime().exec("java Sample");
  }
}

我基本上尝试运行Main.java程序在新的命令提示符中调用Sample.java ...这是一个应该打开并打印Sample.java输出的新cmd ...我该怎么办此... ???

4 个答案:

答案 0 :(得分:4)

将两者一起编译,然后从Sample,

编译
Main.main(args);

会做到这一点。您不需要导入,因为您在同一个包中。 请注意链接的教程。 http://docs.oracle.com/javase/tutorial/java/package/index.html

答案 1 :(得分:2)

Runtime.getRuntime().exec("cmd /c start cmd.exe /K \"cd <where_the_Sample_is> && javac Sample.java && java Sample\"");

或者如果已经编译了类:

Runtime.getRuntime().exec("cmd /c start cmd.exe /K \"cd <where_the_Sample_is> && java Sample\"");

答案 2 :(得分:2)

我正在使用eclipse。类文件放在projects目录下的bin目录中。下面的代码启动命令提示符,将目录更改为bin并发出java Sample命令。您可以根据自己的要求进行编辑。

Runtime.getRuntime().exec("cmd.exe /c cd \"bin\" & start cmd.exe /k \"java Sample\"");

答案 3 :(得分:0)

您可以使用此代码:

public class Main {
    public static void main(String[] args) throws Exception {
        Class<Sample> clazz = Sample.class;
        Method mainMethod = clazz.getMethod("main", String[].class);
        String[] params = null;
        mainMethod.invoke(null, (Object) params);
    }
}