实现某个接口的类的集合

use*_*795 1 java constructor interface java.lang.class

我在这个问题上徘徊了好几个小时,我希望你能帮助我.

我有一个定义一些方法的接口:

public interface LanguageInterface {
         //...
}
Run Code Online (Sandbox Code Playgroud)

有一个实现LanguageInterface的类

public class ZPL implements LanguageInterface {
    // ...
}
Run Code Online (Sandbox Code Playgroud)

现在我想创建一个包含所有这些类的枚举.

public enum PrintingLanguage {
   ZPL(ZPL.class);

   private Class<LanguageInterface> clazz;

   PrintingLanguage(Class<LanguageInterface> clazz) {
      this.clazz = clazz;
}
Run Code Online (Sandbox Code Playgroud)

而现在我总是得到一个日食

构造函数PrintingLanguage(Class <ZPL>)未定义

我只是想让构造函数只接受实现这个接口的类.

我怎样才能做到这一点?

提前致谢!

SLa*_*aks 5

您希望Class<? extends LanguageInterface>允许任何扩展接口的类型参数.