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

Java基础 8.17

1.接口快速入门

接口这样的设计需求在Java编程/php/.net/go中也是会大量存在的 一个程序就是一个世界 在现实世界存在的情况 在程序中也会出现 我们用程序来模拟一下

package com.logic.interface_;public interface USB {public void start();public void stop();
}
package com.logic.interface_;public class Phone implements USB {@Overridepublic void start() {System.out.println("手机开始工作...");}@Overridepublic void stop() {System.out.println("手机停止工作...");}
}
package com.logic.interface_;public class Camera implements USB {//实现接口本质就是把接口方法实现@Overridepublic void start() {System.out.println("相机开始工作...");}@Overridepublic void stop() {System.out.println("相机停止工作...");}
}
package com.logic.interface_;public class Computer {public void work(USB usb) {//通过接口来调用方法usb.start();usb.stop();}
}
package com.logic.interface_;public class Interface01 {public static void main(String[] args) {Camera camera = new Camera();Phone phone = new Phone();//创建计算机Computer computer = new Computer();computer.work(phone);computer.work(camera);}
}

2.接口基本介绍

接口就是给出一些没有实现的方法封装到一起 到某个类要使用的时候 再根据具体情况把这些方法写出来

语法

interface 接口名 {
//属性
//方法(抽象方法 默认实现方法 静态方法)
}
class 类名 implements 接口 {
//自己的属性
//自己的方法
//必须实现的接口的抽象方法
}

小结

在jdk7.0前 接口里的所有方法都没有方法体 即都是抽象方法

jdk8.0后接口可以有静态方法,默认方法,也就是说接口中可以有方法的具体实现

3.接口应用场景

实际应用

现在有一个项目经理,管理三个程序员,功能开发一个软件,为了控制和管理软件,项目经理可以定义一些接口,然后由程序员具体实现。

实际要求:3个程序员,编写三个类,分别完成对Mysql,Oracle,DB2数据库的连接

http://www.dtcms.com/a/335638.html

相关文章:

  • Debug马拉松:崩溃Bug的终极挑战
  • 一起Oracle 19c bug 导致的业务系统超时问题分析
  • JUC常用线程辅助类详解
  • Blender模拟结构光3D Scanner(二)投影仪内参数匹配
  • 积鼎科技CFD VirtualFlow:引领国产多相流仿真技术,赋能工业智造
  • (一)React企业级后台(Axios/localstorage封装/动态侧边栏)
  • 【React 性能】性能优化第一课:搞懂 `React.memo`, `useCallback`, `useMemo`
  • 重学React(六):脱围机制二
  • Spark03-RDD02-常用的Action算子
  • WebSocket DevTools 开发调试工具完全指南 – 实时监控、消息拦截、性能分析一站式解决方案
  • 【Java后端】Spring Boot 集成 MyBatis 全攻略
  • 遥感数字图像处理教程——第二章部分课后习题
  • Java零基础笔记20(Java高级技术:单元测试、反射、注解、动态代理)
  • Oracle Undo Tablespace 使用率暴涨案例分析
  • 前端vue3+后端spring boot导出数据
  • 《香农之息》(终章·镜渊)
  • 从零到一:打包并发布你的第一个MCP AI工具服务
  • Qt | 四种方式实现多线程导出数据功能
  • RAG学习(二)
  • 零墨云A4mini打印机设置电脑通过局域网络进行打印
  • scikit-learn/sklearn学习|多任务套索回归MultiTaskLasso解读
  • 如何利用gemini-cli快速了解一个项目以及学习新的组件?
  • 业务员手机报价软件免费领取——仙盟创梦IDE
  • Kotlin集合概述
  • 【LeetCode】13. 罗马数字转整数
  • 不止于“渲染图”:从Adobe Stager到Three.js的交互式Web3D工作流
  • 安卓开发者自学鸿蒙开发4自定义组件
  • C#中List、Path、字符串操作等常用方法总结
  • fdisk的格式化分区和挂载(linux)
  • Collections.synchronizedList是如何将List变为线程安全的