
你需要在你所实现的方法中将Object类强制转换为Stuednt类,例:
class Student implements Compare
{ private Double score;//成绩
public Double getScore()
{
return score;
}
boolean compare(Object o)//你需要实现的方法
{
}
}
Object obj;
Student stu = (Student) obj;
然后再你的方法中,调用Student 的get方法获取成绩这一属性,然后进行比较
例:stu1getScore()==stu2getScore();
至于你说的Object有哪些方法,我要说的是你需要SDK。那里面的解释比我专业,清楚的多。
欢迎追问。
Java 应用程序按值传递参数(引用类型或基本类型),其实都是传递他们的一份拷贝而不是数据本身(不是像 C++ 中那样对原始值进行 *** 作。)
例1:
Java代码
//在函数中传递基本数据类型,
public class Test {
public static void change(int i, int j) {
int temp = i;
i = j;
j = temp;
}
public static void main(String[] args) {
int a = 3;
int b = 4;
change(a, b);
Systemoutprintln("a=" + a);
Systemoutprintln("b=" + b);
}
}
结果为:
a=3
b=4
原因就是 参数中传递的是 基本类型 a 和 b 的拷贝,在函数中交换的也是那份拷贝的值 而不是数据本身;
例2:
Java代码
//传的是引用数据类型
public class Test {
public static void change(int[] counts) {
counts[0] = 6;
Systemoutprintln(counts[0]);
}
public static void main(String[] args) {
int[] count = { 1, 2, 3, 4, 5 };
change(count);
}
}
在方法中 传递引用数据类型int数组,实际上传递的是其引用count的拷贝,他们都指向数组对象,在方法中可以改变数组对象的内容。即:对复制的引用所调用的方法更改的是同一个对象。
可以这样理解传一个方法给另外一个方法当参数有两种情况的:1,将被传的方法的返回值传给要传的方法,这样是可以的。2,如果要把一个方法作为一个当做参数传递的话有点麻烦,这样的情况是把要传递的方法本身当成一个对象,可以用反射中的Method来表示,但是这样搞起来就麻烦的多了。不知道你需要的是哪种方式。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)