2013-03-05 55 views
-2

我是新来的泛型。我想编写一个接口SearchableFruit像许多“果”类:通用java界面

public interface SearchableFruit<T>{ 
    //returns a list of newer fruit object than current fruit object 
    public static List<T> searchNewerFruit(T curr); 
} 

所以,我可以用这个接口的类AppleOrange

public class Apple implements SearchableFruit{ 
    public static List<Apple> searchNewerFruit(Apple currentApple){ 
    //TODO get apples newers than currentApple 
    //return a list of Apples 
} 

} 

我以前从未和该做的界面是不是在为我工作,你能澄清我该怎么写吗?

有什么建议吗? 谢谢!

+5

问题是什么? – benzonico 2013-03-05 15:21:49

+0

可能的重复:http://stackoverflow.com/questions/3933156/java-generics-and-interfaces – 2013-03-05 15:23:09

+1

注意:接口不能有静态方法。 – Pyranja 2013-03-05 15:23:32

回答

0

它应该是这样的

public interface SearchableFruit<T>{ 
    public List<T> searchNewerFruit(T curr); 
} 

public class Apple implements SearchableFruit<Apple> { 
    public List<Apple> searchNewerFruit(Apple currentApple){ 
     // impl 
    } 
} 
0

首先,接口不能包含静态方法。 其次,你错过了实施类型。更正:

public class Apple implements SearchableFruit<Apple>{ 
    public List<Apple> searchNewerFruit(Apple currentApple){ 
    //TODO get apples newers than currentApple 
    //return a list of Apples 
} 

} 
+0

ctrl + c ctrl + v pattern ... ech ... – 2013-03-05 18:38:56