本帖最后由 李大伟 于 2013-4-19 22:58 编辑
- class Student implements Comparable<Student>{
- private String name;
- private int ma,cn,en;
- private int sum;
- Student(String name,int ma,int cn,int en){
- this.name = name;
- this.ma = ma;
- this.cn = cn;
- this.en = en;
- sum = ma+cn+en;
- }
- public int compareTo(Student s){
- int num = new Integer(this.sum).compareTo(new Integer(s.sum));
- if(num==0)
- return this.name.compareTo(s.name);
- return num;
- }
- public String getName(){
- return name;
- }
- public int getSum(){
- return sum;
- }
- public int hashCode(){
- return name.hashCode()+sum*78;
- }
- public boolean equals(Object obj){
- if(!(obj instanceof Student))
- throw new ClassCastException("类型不匹配");
- Student s = (Student)obj;
- return this.name.equals(s.name) && this.sum==s.sum;
- }
- public String toString(){
- return "student["+name+","+ma+","+cn+","+en+"]";
- }
- }
复制代码 我想问下 为什么要重写toString,equals,hashCode,作用是什么,求详解。 |