当前位置: 首页 > article >正文

接口使用实例(1)

大家好,今天我们来看看接口的一些实例,关于如何定义和实现接口,相信通过这些例子,我们能有一些清晰的认知。

先定义一个学生类:

再给定一个学生数组,对这个对象数组中的元素进行排序(按分数排):

 

按照我们之前的理解,数组我们有一个方法(sort 方法),能否直接使用这个方法呢?

 

 .仔细思考不难发现,和普通的整数不一样,两个整数是可以直接比较的,大小关系明确,而两个学生对象的大小关系怎么确定呢,需要我们额外指定..

让Student类实现Comparable接口,并实现其中的cmpareto方法:

注意:Comparable接口中有一个抽象方法:

public int compareTo(T o);

我们需要重写此方法(实现该接口时)

 

在sort方法中会自动调用compareTo方法, compareTo的参数为Object,其实传入的就是student类里的对象,然后比较当前对象和参数对象的大小关系(按分数来算).

再次执行程序,结果就符合预期了.

 注意事项:

1,对于sort方法来说,需要传入的数组的每个对象都是"可比较的",需要具备compareTo这样的能力,通过重写compareTo方法的方式,就可以定义比较规则.

2.如果没有写compareTo方法,会抛出异常。

ClassCastException 类型转换异常

3.String类为什么排序时不需要我们重写?

因为String类实现了Comparable接口,有了可比较的功能.

4.一个自义定类一定要支持可比较大小的功能,那儿么就必须去实现你的 Comparable 接口.

好了今天分享就到这里,留给大家一个问题:

假如我们需求变换了,要根据姓名比较大小(根据字符的大小来排序),大家下去自己试一试,明天再为大家解答,谢谢大家的阅读。

 


http://www.kler.cn/a/526222.html

相关文章:

  • 新版231普通阿里滑块 自动化和逆向实现 分析
  • Flink中的时间和窗口
  • Visual Studio使用GitHub Copilot提高.NET开发工作效率
  • Win11下帝国时代2无法启动解决方法
  • 智能汽车网络安全威胁报告
  • 生成模型:扩散模型(DDPM, DDIM, 条件生成)
  • SAP SD学习笔记27 - 贩卖契约(框架协议)3 - 基本契约 - 定期请求(开票计划)
  • pandas基础学习:常用基本函数
  • hdfs:介绍三个脚本
  • jQuery小游戏(一)
  • 向上调整算法(详解)c++
  • 基于STM32的智能停车场管理系统设计
  • 【Numpy核心编程攻略:Python数据处理、分析详解与科学计算】1.28 存储之道:跨平台数据持久化方案
  • 玩转大语言模型——使用langchain和Ollama本地部署大语言模型
  • 简易计算器(c++ 实现)
  • UE4.27打包安卓报错
  • 【C语言】如何写一个扫雷游戏
  • 【llm对话系统】大模型源码分析之llama kv cache缓存逻辑
  • 2.1.1 视觉与光学成像
  • 爬虫基础(五)爬虫基本原理
  • 云计算技术深度解析与实战案例
  • 6.进程的使用方式
  • 深入解析现代计算机内存访问机制:从虚拟地址到物理地址的转换与缓存优化
  • 九大服务构建高效 AIOps 平台,全面解决GenAI落地挑战
  • 实现智能教室能耗监测与管理系统的详细方案
  • MiniMax-01技术报告解读