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

Java的接口

接口

  • 普通类:只有具体实现

  • 抽象类:具体实现和规范(抽象方法)都有!

  • 接口:只有规范!自己无法写方法~专业的约束! 约束和实现分离:面向接口编程~

  • 接口就是规范,定义的是一组规则,体现了现实世界中“如果你是…则必须能…“的思想。如果你是天使,则必须能飞。如果你是汽车则必须能跑

  • 接口的本质是锲约,就像我们人间的法律一样。制定好大家必须遵守。

  • 面对对象的精髓,是对对象的抽象,最能体现这一点的就是接口。

  • 声明类的关键字是class,声明接口的关键字是interface

接口可以理解为干爹,一个儿子有多个干爹,儿子要完成干爹的所有要求。

接口的作用:

  1. 接口本身是一个约束
  2. 接口定义一些方法,让不同的人去实现
  3. 定义的方法 public abstract
  4. 定义的属性public static final
  5. 接口中不能被实例化,接口中没有构造方法~
  6. implements可以实现多个接口
  7. 实现接口必须重写接口中的方法~

总结

  1. JDK7以前:接口只能定义抽象类方法
  2. JDK8:接口中可以定义有方法体的方法(默认defult 静态static)
  3. JDK9:接口中可以定义私有方法,用来抽取其他方法中重复的部分
  4. 私有方法分为静态非静态 静态只能调用静态
packageoop.Demo09;publicinterfaceUserService{//接口中定义的所有属性都是常量intAGE=99;//public static final AGE =99;//接口中的所有定义的方法其实都是抽象的 public abstract//public abstract void run();voidadd(Stringname);voiddelete(Stringname);voidupdate(Stringname);voidquery(Stringname);}packageoop.Demo09;//类可以实现接口 implements 接口//实现了接口的类,就需要重写接口的方法~//多继承~利用接口来实现多继承~publicclassUserServicelmplimplementsUserService,TimeService{@Overridepublicvoidadd(Stringname){}@Overridepublicvoiddelete(Stringname){}@Overridepublicvoidupdate(Stringname){}@Overridepublicvoidquery(Stringname){}@Overridepublicvoidtime(){}}packageoop.Demo09;publicinterfaceTimeService{voidtime();}
http://www.jsqmd.com/news/1174625/

相关文章:

  • 2026年7月最新万国天津万象城维修保养服务电话 - 万国中国官方服务中心
  • Vivado 2023.2 VIO与ILA联调:1个工程实现信号驱动与波形捕获
  • 2026最新排行榜汉中名表名包奢侈品回收劳力士卡地亚伯爵香奈儿罗意威圣罗兰最新排行榜门店排行 - 谊识预商务
  • IntelliJ IDEA 2024.3 集成 SVN 1.14:3步配置与5大高频操作避坑指南
  • Phi-4-da8w8-torchao-v0.16.0深度解析:AMD打造的高效CPU推理模型来了!
  • Cursor写API接口时,这6类HTTP状态码你真的用对了吗?附RFC 7231合规性校验清单
  • Windows 11终极瘦身指南:3分钟让你的系统快如闪电
  • libgdbm-rust最佳实践总结:20个提升数据库性能的技巧与建议
  • Awesome Wails社区生态:如何为开源项目贡献代码
  • SolidWorks 2023 与 Creo 8.0 三维建模对比:5类典型零件出图效率与标准符合度评测
  • 索尼相机隐藏功能解锁指南:30分钟视频录制与全语言菜单实战
  • Loop for Mac:5步打造优雅高效的macOS窗口管理智能助手
  • 2026最新排行榜宜宾名表名包奢侈品回收卡地亚宝珀沛纳海爱马仕路易威登LV古驰最新排行榜门店排行 - 谊识预商务
  • 2026最新排行榜海北名表名包奢侈品回收劳力士欧米茄浪琴迪奥罗意威圣罗兰排行榜门店排名 - 谊识预商贸
  • 终极指南:如何用IPEX-LLM优化PyTorch模型性能
  • eDEX-UI 与 3 款主流终端性能对比:Electron 应用的资源开销实测
  • Node.js 包管理器镜像源配置:npm/pnpm/yarn 3工具5种切换方案对比
  • 5个技巧优化Gemma-4-12B-it-qat-OptiQ-4bit在Apple Silicon上的性能
  • MA12070与TM4C1299NCZAD构建高保真音频系统
  • Resgate容器化部署教程:Docker与Docker Compose配置实例
  • 全网横向对比测评|十六型人格测试 TOP12 榜单,高分平台合集 - 时讯资讯
  • TortoiseGit 2.15.0.0 + Git 2.43.0 双工具配置:Windows 10/11 环境 5 步完成 Gitee 仓库克隆
  • Knockoff:一个浏览器插件,帮你在亚马逊海里把假牌子捞出来
  • 2026最新排行榜海东名表名包奢侈品回收卡地亚法穆兰朗格爱马仕香奈儿罗意威最新排行榜权威盘点 - 谊识预商贸
  • 如何用League Akari在45秒内做出职业级英雄选择决策
  • W5500 与 I211 网卡自动协商失败:3步定位与双端强制百兆全双工配置
  • 辛普森悖论实战:3步拆解客服解决率下降0.36pp的真实原因
  • Skywork-OR1代码实现原理:深入解析PPO算法在数学推理任务中的应用
  • 【紧急预警】2024Q3起,未接入RAG增强型Agent的客服系统将面临3类监管否决风险
  • 重新定义游戏认知:League Akari如何将数据转化为竞技优势