在千锋逆战班学习第十九天

今天是在千锋逆战学习的第十九天了
熬过这段孤独,我就是王者!加油!
今天学习了接口回调原理,这是一个很重要的知识点,在以后的应用当中无处不在,所以一定要把它学好,理解透彻。
接口回调流程用一张图表示:
在这里插入图片描述
意思就是接口和接口的使用者早就写好了,就等着你需要的时候去用。当程序员想要调用工具完成一个目标时,需要按照接口标准写一个实现类,把实现类传给工具,即工具回调,然后就完成了运行。

下面是对这个原理的一个练习:
要完成对一组学生的排序,对所有同学的分数进行降序排序。其中接口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;
	}

}

运行结果:
在这里插入图片描述

发布了24 篇原创文章 · 获赞 1 · 访问量 730

猜你喜欢

转载自blog.csdn.net/weixin_46286064/article/details/104545988
今日推荐