实现某个接口的类的集合

时间:2014-10-03 15:02:12

标签: java interface constructor java.lang.class

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

我有一个界面定义了一些方法:

public interface LanguageInterface {
         //...
}

有一个实现LanguageInterface的类

public class ZPL implements LanguageInterface {
    // ...
}

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

public enum PrintingLanguage {
   ZPL(ZPL.class);

   private Class<LanguageInterface> clazz;

   PrintingLanguage(Class<LanguageInterface> clazz) {
      this.clazz = clazz;
}

现在我总是得到一个日食,说

  

构造函数PrintingLanguage(Class&lt; ZPL&gt;)未定义

我只想让构造函数只接受实现此接口的类。

我该如何做到这一点?

提前致谢!

1 个答案:

答案 0 :(得分:5)

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