2011-06-24 96 views
1

如果我有如下的界面,我想实现它Java泛型亚型接口

public interface A<E extends Comparable<E>>{ 
    //code 
} 

什么是实现类声明的正确语法?我得到一个错误,当我做这个

public class B<E extends Comparable<E>> implements A<E extends Comparable<E>>{} 

如果它只是读implements A<E>或只是implements A

回答

3

Comparable类型E例如,String,你会想:如果你想保留B泛型类型参数声明

public class B implements A<String> { ... } 

,你会:

public static class B<E extends Comparable<E>> implements A<E> { ... } 

请注意,EA与无关在B,即以下是有效的:

public static class B<Foo extends Comparable<Foo>> implements A<Foo> { ... } 

(是否要区分或不是在你的代码,我不知道,但它可能在理解帮助)

2
public class B<E extends Comparable<E>> implements A<E>{} 
+0

我也这么认为。您必须重新声明此E是真正的可比较的,然后才能将其提供给您的界面。 – Marnix