接口的简单案例:

  接口 就是一种规范 其目的主要是为了约束和解耦

 public class Test {

     public static void main(String[] args){
Computer pc = new Computer();
Usb myKeyboard = new Keyboard();
pc.openDevice(myKeyboard);
UsbPlane f26 = new UsbPlane();
pc.openDevice(f26);
}
}
//USB接口规范
interface Usb{
void connect(); // 连接设备的方法 因为现在还不知道需要连接什么设备 所以县抽象出来
}
//键盘 遵循USB接口规范
class Keyboard implements Usb{
@Override
public void connect(){
System.out.println("这是Usb键盘连接电脑的方法");
}
// 键盘还可以能会有其它的方法 这里也可以单独实现
}
//鼠标 遵循USB接口规范
class Mouse implements Usb{
@Override
public void connect(){
System.out.println("这是Usb鼠标连接电脑的方法");
}
//鼠标可能还有其它方法 这里也可以单独定义
}
//电脑 使用规范的类型
class Computer{
public void openDevice(Usb device){
device.connect();
}
}
//...
class UsbPlane implements Usb{
@Override
public void connect(){
System.out.println("这是Usb飞机连接电脑的方法");
}
}

最新文章

  1. 最大流-最小割 MAXFLOW-MINCUT ISAP
  2. WinForm:DataGridViewButtonColumn的使用
  3. swift 2.x学习笔记(三)
  4. kylin(二): Calcite
  5. 博文推荐】Javascript中bind、call、apply函数用法
  6. MySql从服务器延迟解决方案
  7. DragonBoard810使用记录
  8. MVC Razor视图引擎
  9. TED Talk-教育如何扼杀创造力
  10. Codeforces Round #248 (Div. 1)——Ryouko's Memory Note
  11. Ajax跨域 CROS处理
  12. C语言之找零钱
  13. Redis随笔(四)Centos7 搭redis3.2.9集群-3主3从的6个节点服务
  14. JAVA_SE基础——69.Date类
  15. 10.API 接口自动化测试的基本原理
  16. 微信浏览器安卓手机video浮在最上层问题
  17. itext实现pdf自动定位合同签订
  18. (转)PaperWeekly 第二十二期---Image Caption任务综述
  19. (转)SSIS处理导入数据时, 存在的更新, 不存在的插入
  20. maven加载第三方jar包

热门文章

  1. [转]Java中Map的用法详解
  2. 通过Ajax异步提交的方法实现从数据库获取省份和城市信息实现二级联动(xml方法)
  3. 利用JavaScript来实现省份—市县的二级联动
  4. oracle游标透彻详解分析
  5. 浮动div中的图片垂直居中
  6. nginx expires
  7. 19-ES6(2)
  8. Hibernate(开放源代码的对象关系映射框架)
  9. iOS常见面试题
  10. selenium 封装代码