2

私はドイツの学生で、最初のJavaプロジェクトに取り組んでいます。私は、ユーザーが過去の財務データに対して統計的検定を実行することになっている小さなGUIアプリケーションを構築しています。ユーザーは、特定のインターフェースを実装することにより、(Javaで)独自のテストメソッドを定義できる必要があります。私のアイデアは、ユーザーが自分のクラスを(.class / .jar ...?として)所定のフォルダーに保存できるようにすることでした。このフォルダーから、実行時にクラスを取得できます。しかし、私はそれを実装する方法の手がかりがないことを認めなければなりません...

私の質問は、これが可能かどうか、そして可能であれば、そのトピックに関する情報はどこにありますか?そうでない場合は、プログラムのビルド後にユーザーがテストメソッド/スクリプトを追加できるような「インターフェイス」を他にどのように作成できますか?

前もって感謝します!

4

2 に答える 2

2

Janinoを見てください。制限はありますが(ジェネリックスがサポートされていないなど)、Javaソースコードからクラスをロードするなどの非常に興味深いシナリオをサポートできます。また、「拡張機能」を完全なクラスとして、またはコードブロックまたは単一のステートメントとして定義することもできます。

静的プラグイン(ホスティングアプリケーションの1回の実行中に変更する必要のないプラグイン)が必要な場合は、jspfまたはその他のJavaベースのプラグインベースのソリューションを使用できます。

于 2013-03-26T17:07:05.630 に答える
1

カスタムインターフェイスを定義し、ユーザークラスにそのインターフェイスを実装させます。これにより、実行時にこれらのクラスをロードし、リフレクションを使用してメソッドを実行できます。

これを確認してくださいhttp://docs.oracle.com/javase/tutorial/reflect/

于 2013-03-26T16:46:19.203 に答える