0

我正在从 org.apache.flink.client.program 和以下构造函数中查看 PackagedProgram.java:

PackagedProgram(File jarFile, List<URL> classpaths, String entryPointClassName, String... args)

有一些我无法理解的代码;请看下面:

this.mainClass = loadMainClass(entryPointClassName, userCodeClassLoader);   

if (Program.class.isAssignableFrom(this.mainClass)) {
   Program prg = null;

   try {
      prg = InstantiationUtil.instantiate(this.mainClass.asSubclass(Program.class), Program.class);
   }

这怎么能this.mainClass不覆盖作为 Program 接口(program.class)的抽象方法并且只有静态 main 方法被实例化为 Program 的 getPlan 方法?

4

0 回答 0