2014-10-03 46 views
1

我在這個問題上徘徊了幾個小時,我希望你能幫助我。實現某個接口的類的集合

我有一個定義了一些方法接口:

​​

有其落實LanguageInterface

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

,現在我想創建一個包含所有這些類的枚舉類。

public enum PrintingLanguage { 
    ZPL(ZPL.class); 

    private Class<LanguageInterface> clazz; 

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

現在,我總是得到一個日食它說

構造PrintingLanguage(類< ZPL>)是未定義

我只是想讓構造函數只接受類它實現了這個接口。

我該如何做這項工作?

在此先感謝!

回答

5

你想Class<? extends LanguageInterface>,允許任何擴展接口的類型參數。

+0

接口和擴展一起工作? LanguageInterface應該是一個類而不是一個接口? – StackFlowed 2014-10-03 15:05:37

+0

@wrongAnswer:通用方差不區分接口和類。 – SLaks 2014-10-03 15:06:29

+0

酷不知道!謝謝。 – StackFlowed 2014-10-03 15:07:00

相關問題