java中一个关于调用的问题

[复制链接]
查看11 | 回复2 | 2010-6-11 18:46:02 | 显示全部楼层 |阅读模式
class Student implements Comparable{

int english = 0;

String name;

Student (int e, String n){

english =e;

name = n;
}
public int compareTo(Object b){

Student st = (Student) b;

return (this.english - st.english);
}
}
我想问的是关于这句this.english - st.english ,这里的this和st分别调用的是哪个english变量,为什么这样写的时候是升序排列的,但st.english -this.english 的时候就是降序排列的,希望高手解答!!!

回复

使用道具 举报

千问 | 2010-6-11 18:46:02 | 显示全部楼层
this 是指当前类的变量或者函数如你使用 A.compareTo(B)时 this.english 就是指向A.english
回复

使用道具 举报

千问 | 2010-6-11 18:46:02 | 显示全部楼层
this指的是当前对象,st指的是参数表中Object下转型的Student变量的english这个属性值。至于这个题中就是要比较的那个实例的english值。 如果还是不明白,可以hi我。。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行