今天是在千锋逆战学习的第十九天了
熬过这段孤独,我就是王者!加油!
今天学习了接口回调原理,这是一个很重要的知识点,在以后的应用当中无处不在,所以一定要把它学好,理解透彻。
接口回调流程用一张图表示:
意思就是接口和接口的使用者早就写好了,就等着你需要的时候去用。当程序员想要调用工具完成一个目标时,需要按照接口标准写一个实现类,把实现类传给工具,即工具回调,然后就完成了运行。
下面是对这个原理的一个练习:
要完成对一组学生的排序,对所有同学的分数进行降序排序。其中接口Comparable和工具java.util.Arrays.sort早已有人写好,只需要写一个具体的实现类,去调用工具即可。
/**
* 使用java.lang.Comparable进行排序
*/
public class TestSort {
public static void main(String[] args) {
Student[] stu = new Student[] { new Student("张三", 20, 90), new Student("李四", 21, 95),
new Student("王五", 24, 80) };
java.util.Arrays.sort(stu);// 调用排序工具
for (int i = 0; i < stu.length; i++) {
System.out.println(stu[i].name + stu[i].age + "岁,分数为:" + stu[i].score);
}
}
}
class Student implements Comparable<Student> {
String name;
int age;
int score;
public Student(String name, int age, int score) {
super();
this.name = name;
this.age = age;
this.score = score;
}
// 按照分数降序排序,返回正整数,负整数,0
public int compareTo(Student o) {
if (this.score < o.score) {
return 1;
} else if (this.score > o.score) {
return -1;
}
return 0;
}
}
运行结果: