各位 : 如果不是抽象类 ,一旦一个类继承了接口,不是都要实现里面的方法么?这个例子是孙鑫老师视频里的, 为什么 comparator接口只是吸纳了compare方法, 而实际上 还有一个 equals方法根本没实现 :
class Student implements Comparable
{
int num;
String name;
static class StudentComparator implements Comparator
{
public int compare(Object o1, Object o2)
{
Student s1=(Student)o1;
Student s2=(Student)o2;
int result=s1.num >s2.num ?1 :(s1.num==s2.num ?0:-1);
if(result==0)
{
result=s1.name.compareTo(s2.name);
}
//return s1.num >s2.num ?1 :(s1.num==s2.num ?0:-1);
return result;
}
}
Student(int num, String name)
{
this.name=name;
this.num=num;
} public int compareTo(Object o)
{
Student s=(Student)o;
return num > s.num ? 1 :(num==s.num ? 0: -1);
}
public String toString()
{
return num+": "+name;
}}
class Student implements Comparable
{
int num;
String name;
static class StudentComparator implements Comparator
{
public int compare(Object o1, Object o2)
{
Student s1=(Student)o1;
Student s2=(Student)o2;
int result=s1.num >s2.num ?1 :(s1.num==s2.num ?0:-1);
if(result==0)
{
result=s1.name.compareTo(s2.name);
}
//return s1.num >s2.num ?1 :(s1.num==s2.num ?0:-1);
return result;
}
}
Student(int num, String name)
{
this.name=name;
this.num=num;
} public int compareTo(Object o)
{
Student s=(Student)o;
return num > s.num ? 1 :(num==s.num ? 0: -1);
}
public String toString()
{
return num+": "+name;
}}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货