2014-10-03 3 views
1

나는이 문제로 몇 시간 동안을 stuggling하고 당신이 나를 도울 수 있기를 바랍니다.특정 인터페이스를 구현하는 클래스의 컬렉션

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은 (클래스 < ZPL>)이 정의되지 말한다 일식을 얻을 이 인터페이스를 구현합니다.

어떻게하면됩니까? 사전에

감사합니다!

답변

5

인터페이스를 확장하는 모든 유형 매개 변수를 허용하려면 Class<? extends LanguageInterface>이 필요합니다.

+0

인터페이스와 함께 작업을 확장합니까? LanguageInterface는 인터페이스가 아닌 클래스 여야합니까? – StackFlowed

+0

@wrongAnswer : 일반 분산은 인터페이스와 클래스를 구별하지 않습니다. – SLaks

+0

멋지다는 것을 몰랐습니다! 감사. – StackFlowed

관련 문제