2

我想知道在java中是否可以使用流程构建器来启动一个类的实例..

喜欢

ProcessBuilder pb = new ProcessBuilder(new OtherClass());
Process my_other_class = pb.start();

或类似的东西..这甚至可能..?

4

1 回答 1

2

ProcessBuilder用于启动另一个Process或简而言之,用于启动程序的新副本。

要运行另一种public static void main(String[] args)方法,您需要结合ProcessBuilder命令java行参数及其所有参数(类路径等)。这将在另一个 JVM 中创建该类的新实例

要在同一个 JVM 中创建一个类的另一个实例,您只需调用new ClassName(parameters);

如果您希望新类独立于启动代码块运行,则需要确保该类implements Runnableextends Thread和正确启动;但是,初始化仍然在构造函数中完成。

由于这两个实例都是由其构造函数中的代码初始化的,因此不清楚您正在寻求哪种初始化。所有类都在其构造函数中初始化,因此添加ProcessBuilder似乎是一个令人困惑的“红鲱鱼”。

于 2012-11-14T14:34:42.190 回答