2

Javaでプロセスビルダーを使用してクラスのインスタンスを開始することは可能かどうか疑問に思いました。

好き

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

またはそのようなもの..これも可能ですか..?

4

1 に答える 1

2

ProcessBuilderProcessプログラムの新しいコピーを起動するために、別のまたは要するに開始するためのものです。

別のメソッドを実行するには、コマンドライン引数とそのすべてのパラメーター(クラスパスなど)public static void main(String[] args)を組み合わせる必要があります。これにより、別のJVMにそのクラスの新しいインスタンスが作成されますProcessBuilderjava

同じJVMにクラスの別のインスタンスを作成するには、単に呼び出す必要がありますnew ClassName(parameters);

新しいクラスをコードの起動ブロックとは独立しimplements Runnableて実行する場合は、クラスまたはextends Threadとが適切に起動されていることを確認する必要があります。ただし、初期化はコンストラクターで実行されます。

どちらのインスタンスもコンストラクターのコードによって初期化されるため、どのような初期化を求めているのかが明確ではありません。すべてのクラスはコンストラクターで初期化されているため、追加するProcessBuilderと混乱を招く「赤いニシン」のように見えます。

于 2012-11-14T14:34:42.190 に答える