帮忙给看几句java代码

来源:百度知道 编辑:UC知道 时间:2024/05/18 05:31:09
class Student implements Comparable
{
int num;
String name;
Student(int num,String name)
{
this.num=num;
this.name=name;
}
public int compareTo(Object o)
{
Student s=(Student)o;
return num>s.num ? 1 :(num==s.num ? 0 :-1);
}
我想知道最后一句第一个num是怎么来的?它不是来自于参数吗?
这是列表内部排序时用到的一段代码,调用这个compareTo()的对象是Student类组成的列表,传进来的参数也是那个列表,所以我想不明白!

public int compareTo(Object o)
{
Student s=(Student)o;
return num>s.num ? 1 :(num==s.num ? 0 :-1);
}

第一个num是来自调用该compareTo()方法的对象,第二个num是来自传入对象 Object o...

晕 ....int num; 这个声明是什么?

num是这个类的成员变量,这个类的方法可以直接调用自己内部的成员变量,就这么简单.

当一个Student对象a调用方法compareTo()时候,num就表示a.num 那个s.num表示传如参数的(Student)o.num

调用方法compareTo()的应该是个Student对象吧

这个num是个成员变量,楼主这样使用的话是不符合java封装原则的!一般情况下我们写java类的时候定义变量我们都要加入Set和get方法!~
楼猪都没悬赏分,这题目我懒得跟你细说了!~要不整个细节一个一个跟你说