展示接口实现“功能扩展”
【需求】主板预留PCI插槽。不可能知道该插槽将插装什么硬件。
主板做的事情只能是:加电、启动、run、停止。
主板类预留5个PCI插槽,如何实现?

interface PCI{ //PCI插槽应遵循的标准void start();void run();void stop();
}
class NetCard implements PCI{public void start() {System.out.print("\n网卡启动");}public void run() {System.out.print(" 网卡运行");}public void stop() {System.out.print("\n网卡停止");}
}
class SoundCard implements PCI{public void start() {System.out.print("\n声卡启动");}public void run() {System.out.print(" 声卡运行");}public void stop() {System.out.print("\n声卡停止");}
}
class DisplayCard implements PCI{public void start() {System.out.print("\n显卡启动");}public void run() {System.out.print(" 显卡运行");}public void stop() {System.out.print("\n显卡停止");}
}
class MainBoard{ //主板PCI [] p = new PCI [5]; //创建的不是PCI对象(实际没有PCI对象),因为接口不是类,没有构造函数public void add(PCI x) {for(int i=0;i<p.length;i++) if(p[i] == null) {p[i]=x; return;}System.out.print("已插满,无法插入!");       }public void start() { //模拟主板加电运行for(int i=0;i<p.length;i++) {if(p[i]!=null) {p[i].start();p[i].run();}}}public void stop() { //模拟主板关机前的停止for(int i=0;i<p.length;i++)if(p[i]!=null)p[i].stop();}
}
class Computer{MainBoard m = new MainBoard(); //电脑中有一块主板public Computer(PCI [] p) { //电脑中插装何种板卡未知,通过参数传入for(int i=0;i<p.length;i++)m.add(p[i]);}public void start() { m.start();}public void stop() { m.stop();}
}
class App_PCI{public static void main(String [] args) {PCI[] a = { new NetCard(),new SoundCard(),new DisplayCard()};Computer c = new Computer(a);c.start();c.stop();}
}


//注:
PCI [] p = new PCI [5]; 创建的不是PCI对象(实际没有PCI对象),因为接口不是类,没有构造函数

Java 接口的应用:PCI相关推荐

  1. Java接口对Hadoop集群的操作

    Java接口对Hadoop集群的操作 首先要有一个配置好的Hadoop集群 这里是我在SSM框架搭建的项目的测试类中实现的 一.windows下配置环境变量 下载文件并解压到C盘或者其他目录. 链接: ...

  2. 推荐一个 Java 接口快速开发框架

    欢迎关注方志朋的博客,回复"666"获面试宝典 今天给小伙伴们介绍一个Java接口快速开发框架-magic-api 简介 magic-api 是一个基于 Java 的接口快速开发框 ...

  3. java接口如何定义常量 c_在Java接口中怎样访问定义的常量呢?

    java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能).那么我们在Java接口中怎 ...

  4. Java接口和Java抽象类

    Java接口和Java抽象类有太多相似的地方,又有太多特别的地方,究竟在什么地方,才是它们的最佳位置呢?把它们比较一下,你就可以发现了. 1.Java接口和Java抽象类最大的一个区别,就在于Java ...

  5. java接口深入理解,深入理解Java接口

    从java接口是什么到为什么,理解java接口,主要解决三个问题 1.java接口是什么 2.java接口为什么 3.java接口怎么用 java接口是什么 接口是方法的抽象,通过接口规定类需要实现那 ...

  6. java安全接口调用_步骤3:调用Java接口

    本文档主要介绍了通过调用Java接口生成工作密钥和进行通用数据加解密的操作方法. 整体流程 初始化SDK.具体内容请参见 配置Java接口.具体内容请参见 初始化SDK 使用以下方法初始化SDK.hs ...

  7. 对接第三方平台JAVA接口问题推送和解决

    对接第三方平台JAVA接口问题推送和解决 参考文章: (1)对接第三方平台JAVA接口问题推送和解决 (2)https://www.cnblogs.com/CreateMyself/p/7295879 ...

  8. java 接口与抽象类的区别

    1.概述 一个软件设计的好坏,我想很大程度上取决于它的整体架构,而这个整体架构其实就是你对整个宏观商业业务的抽象框架,当代表业务逻辑的高层抽象层结构 合理时,你底层的具体实现需要考虑的就仅仅是一些算法 ...

  9. Java接口interface

    Java接口interface 1.多个无关的类可以实现同一个接口. 2.一个类可以实现多个无关的接口. 3.与继承关系类似,接口与实现类之间存在多态性. 接口(interface)是抽象方法和常量值 ...

  10. 超详细解读Java接口:模块通信协议以及默认方法和静态方法

    有不少学习Java的同学一直有个疑问,不仅在初学者中很普遍,连许多经验丰富的老手也很难表述清楚,那就是:Java接口到底是什么? 来看看孙鑫老师的讲解,本文干货含量拉满,这可能是距离你深入理解Java ...

最新文章

  1. python语音在线编辑-Python如何实现文本转语音
  2. idea窗口下方滚动条不明显设置
  3. windows批量创建域用户
  4. 详细介绍Oracle DBA工作职责
  5. R7-7 寻找大富翁 (25 分)
  6. 一个高质量的程序应具备哪些条件?_有料!报考云南省考公务员,应具备哪些条件?...
  7. 【Flink】Flink allowedLateness 与 watermark 的区别
  8. win10PE iso镜像制作及问题解决
  9. emc re 整改 超标_EMC测试及整改对策.ppt
  10. java for循环
  11. 零基础如何学 Web 前端开发
  12. debian通过odbc连接mysql_PHP从Debian Etch使用ODBC和FreeTDS访问MSSQL数据库
  13. Oracle中的TIMESTAMP类型解读(TIMESTAMP存储格式)
  14. 深度盘点:Python 变量类型转换的 6 种方法
  15. 离谱!以AI数据标注为名,偷拍女性上厕所?
  16. 30 款 IDEA 宝贝插件
  17. 【DockerFile构建自定义镜像实操出现问题解决方案Failed to download metadata for repo ‘appstream‘: IPv4 forwarding disa】
  18. 华为云的obs工具包类
  19. 微信接入微信JS-SDK----签名算法
  20. 黑龙江省七台河市谷歌高清卫星地图下载

热门文章

  1. ps 2023(24.7beta) mac
  2. 怎样将word文件转化为Latex文件:word-to-latex-2.56具体解释
  3. Java实现大鱼吃小鱼游戏(开源)
  4. 技术小白成长之路 - 谷歌云端 GCP Cloud Engineering - 第一篇 - 核心架构 Core Infrastructure
  5. iPhone图片拉伸的几种方法
  6. 教你怎么夸一个项目经理
  7. Linux中python、C++和C语言的多线程用法整理(_thread、threading、thread和pthread)
  8. python保存图像的色彩_使用python检测图片上的色彩
  9. vsftp账号_VSFTP添加用户
  10. linux关机常用命令