Java 加载插件时调用run()方法是如何工作的?

Java 加载插件时调用run()方法是如何工作的?,java,imagej,Java,Imagej,在ImageJ中,接口插件有一个方法run(),如下所示: package ij.plugin; /** Plugins that acquire images or display windows should implement this interface. Plugins that process images should implement the PlugInFilter interface. */ public interface PlugIn {

在ImageJ中,接口插件有一个方法run(),如下所示:

package ij.plugin;

/** Plugins that acquire images or display windows should
    implement this interface. Plugins that process images 
    should implement the PlugInFilter interface. */
public interface PlugIn {

    /** This method is called when the plugin is loaded.
        'arg', which may be blank, is the argument specified
        for this plugin in IJ_Props.txt. */ 
    public void run(String arg);

}
为什么加载插件时可以自动调用run()方法

加载插件时可以自动调用run()方法吗

这并不是自然而然的。imagej库中有一行代码表示:

thePlugIn.run(arg);
完整的代码片段如下(来源):

加载插件时可以自动调用run()方法吗

这并不是自然而然的。imagej库中有一行代码表示:

thePlugIn.run(arg);
完整的代码片段如下(来源):


因为他们就是这样实施的?对不起,我还是不明白。假设我编写了一个名为ImageCropper implemented Plugin的类并重写run()方法,并且我在这个方法中执行了一些图像裁剪操作,那么它将在ImageCropper类加载时自动执行。怎么做?因为他们就是这样实施的?对不起,我还是不明白。假设我编写了一个名为ImageCropper implemented Plugin的类并重写run()方法,并且我在这个方法中执行了一些图像裁剪操作,那么它将在ImageCropper类加载时自动执行。怎样?