私はcalculatorを作成しています。演算子と呼ばれる、その中に4つの主要演算子(+、 - 、*、/)クラスを実装したパッケージがあります; 私は、既知の演算子のマップを含むOperatorsCatalogという別のクラスを持っています;それらのインスタンスをそのコンストラクタで作成し、それらをマップに追加します。 今、別の開発者が独自のnew operator.hを実装したNewOperator.jarファイルを渡す可能性があるのでしょうか。この新しい演算子をマップに追加して、計算時にnew演算子をマップに追加できますか? OperatorsCatalogコードを変更せずにどうすればいいですか? 私はそれをJavaで書いていますjarにあるクラスのインスタンスを作成する方法ライブラリを実行時にライブラリ
答えて
super
コンストラクタで演算子をサブクラス化して追加しているのでしょうか?私はあなたがクラスパスに新しい演算子クラスを発見できるようにしたくない間違っている場合はOperator
を拡張するもののいずれかのインスタンス化がマップ
public abstract class Operator {
protected Operator() {
// add to map here
}
...
}
これは新しい実装はクラスパスで利用できますか? –
それはできません。それは、コード内の任意の場所に演算子をインスタンス化する開発者が必要です – Pelocho
ええ、私はOPがclasspathで利用可能な新しい演算子の自動検出を望んでいると思う。 –
に自動的に追加されます。この方法では、この質問を見ています。
Can you find all classes in a package using reflection?
また、あなたは、新しい開発者を& new演算子クラスが書かれるべき方法についての契約上の修正を取得する必要があります。
- 1. .jarライブラリの作成方法
- 2. 実行時にクラスのインスタンスを作成する
- 3. 実行時にクラスを生成するために選択するライブラリ
- 4. Android Studioでjarを作成する方法他のjarライブラリを含める
- 5. Intellijにjarを生成してjava-jarで実行するライブラリを含む
- 6. 実行時にサポートライブラリ/ AppCompatライブラリのバージョンをチェックする方法は?
- 7. サードパーティ(jar)ライブラリを含むJavaライブラリを作成する
- 8. mavenでライブラリjarを作成する方法
- 9. jarファイルの作成 - ライブラリdependecy
- 10. Springブート実行可能なjarと通常のライブラリjarを作成します
- 11. jarの起動時にJavaクラス/ライブラリをあらかじめロードする?
- 12. 実行時にクラスを作成する
- 13. 入れ子になったJARライブラリを使ってJavaライブラリを作成する方法は?
- 14. distフォルダに他のすべてのjarライブラリを含めて単一のjarファイルを作成する方法
- 15. 実行時に知られているクラスのインスタンスを作成する
- 16. jarにライブラリを含める
- 17. rs2xml jarライブラリを使用してJtableを生成する方法
- 18. eastlライブラリの作成方法
- 19. .jarライブラリにクラスを追加するには?
- 20. xugglerライブラリを使用して実行可能ファイルjavaを作成する方法
- 21. IntelliJ IDEAの外部ライブラリにJarファイルを追加する方法
- 22. Makefileに静的ライブラリと動的ライブラリを作成する方法は?
- 23. 実行時に `onResume()`を実行する際に、アンドロイド6以上でpermissionDispatcherライブラリを使用する方法
- 24. デバッグ時にjdbにjarライブラリを追加する
- 25. 実行時に動的クラスを作成
- 26. 実行時にJavaで新しく追加されたクラスのインスタンスを作成する方法
- 27. 実行時にリンクするライブラリを選択する
- 28. スプリングブートを使用して非実行ライブラリ(jar)を作成するにはどうすればよいですか?
- 29. Android。自分自身のJarライブラリを作成する
- 30. 実行時にJarファイルの場所を参照する方法
新しい演算子がすでにマップに存在していますか? –
質問は良いですが非常に広いですが、インタフェースと反射を潜在的に調べることはできません – nafas
新しい演算子は存在しません.i実行時にメインコードを変更せずに追加したい(operatorsCatalog) – PegahK