インターフェイスPluginFilterを使用して、imageJ用の一連のプラグインを作成しました。これらのプラグインの多くはいくつかの共通のタスクを共有しており、imageJの外部でそれらをインスタンス化したいので、コンストラクターを含む抽象的なAnalysis.javaを作成しました
public Analysis(ImagePlus imp){
populateDBValues(imp);
}
ただし、デフォルトのコンストラクターはありません。他のプラグインはAnalysisを拡張します。以前、各プラグインでコードを繰り返していましたが、これは正常に機能しました。コンストラクターが追加されたとき、ImageJで「プラグインをロードできません」というメッセージを示すエラーが発生しました。
私はこれをソースコードを通して追跡しました
catch (InstantiationException e) {log("Unable to load plugin (ins)");}
コンストラクターを追加するとこのエラーが発生するのはなぜですか?