リフレクションされたクラスのインスタンスを取得したいと思います。私に説明してみましょう: Javaでリフレクトされたクラスのインスタンスを取得する
// Before this, class loading and stuff that are not transcendental for this situation.
Method executeApp = loadedClass.getMethod("execute", Main.class)
executeApp.invoke(loadedClassInstance, MAIN); // This "MAIN" is an instance of "Main" class
、別のプログラムから
( 'B' プログラム):のpublic class b {
public void execute(net.package.Main instance) {
System.out.println(instance.getUserInput()); // Just an example, the point is to get information from the instance
}
}
より良い例
は、私が 'A' のプログラムに反映する方法の新しいインスタンスを作成します私がしようとしていることは次のとおりです:http://pastebin.com/61ZR9U0C
私は 'B'プログラムがnet.package.Mainであることを理解するようにするつもりはありません。
何がいいですか?多分それは不可能です...
が見えています。 'Main'はあなたが呼び出すpublicメソッド' getUserInput() 'を持つ型でなければなりません。 – markspace
はい、getUserInput()で意味したことは、 'A'プログラムと同じインスタンスにする必要があるメソッドです。例はJTextFieldからテキストを抽出するメソッドになります –
私は100ではありませんあなたが言っていることは確かですが、リフレクションを使用してメソッドを呼び出す場合は、インスタンスとメソッド、およびメソッドのパラメータを持つ必要があります。したがって、 'b.execute()'には少なくとも2つの引数が必要です。 – markspace