急.关于接口实现的一个小问题
本身想直接用语言表达的,怕自已初学表达不清楚.所以把代码贴出来..
class ArrayAlg
{
public static <T extends Comparable> Pair<T> minmax(T[] array){
if(array[0]==null || array.length==0)
return null;
T max=array[0];
T min=array[0];
for(int i=1;i<array.length;i++){
if(min.compareTo(array[i])>0) min=array[i];
if(max.compareTo(array[i])<0) max=array[i];
}
return new Pair<T>(min,max);
}
}
对于这个方法是泛型方法..在此类中我们并不用去实现这个compareTo方法,直接拿来用就是了,为什么?....大家都知道它是一个comparable中的一个标准接口,如果传过来的对象并没有实现此接口,那么,这个compareTo方法..是从哪里实现来的呢??
比如我们传一个GregorianCalendar对象过来,它并没有实现compareTo这个方法.
而对于方法名前用了一个extends comparable,这只是继承了这个接口..并没有实现嘛!
请高手们解释一下???