一、需求:
  1.在电脑上设置一个USB接口。
  2.电脑运行时,将鼠标连接到接口上,鼠标可以使用自己的功能。
  3.电脑运行时,将键盘连接到接口上,键盘可以使用自己的功能。
(使用接口的作用:减低鼠标、键盘等外围设备和笔记本电脑的耦合性。还可以增加电脑的扩展性。)

二、实例代码:

 //进行设计,定义USB接口规则
interface USB
{
/**
运行设备
*/
public void open();
} //描述电脑
class computer
{
/**
电脑运行
*/
public void run()
{
System.out.println("computer ......");
} /**
使用符合规则的外围设备
*/
public void useUSB(USB usb) //定义一个接口类型的引用。
{
if(usb != null);
{
usb.open();
}
}
} class Mouse
{
public void run()
{
System.out.println("Mouse ......");
}
} class Keyboard
{
public void run()
{
System.out.println("Keyboard ......");
}
} /**
连接了符合USB接口的鼠标。
*/
class MouseUSB extends Mouse implements USB
{
public void open()
{
System.out.println("Mouse USB open ......");
}
} /**
连接了符合USB接口的键盘。
*/
class KeyboardUSB extends Keyboard implements USB
{
public void open()
{
System.out.println("Keyboard USB open ......");
}
} /**
连接了符合USB接口的东西。
*/
class ThingUSB implements USB
{
public void open()
{
System.out.println("open ......");
}
} class USBTest
{
public static void main(String[] arge)
{
/**
电脑c开始运行
*/
computer c = new computer();
c.run(); /**
将鼠标m连接到接口useUSB上,鼠标可以使用自己的功能
*/
MouseUSB m = new MouseUSB();
c.useUSB(m);
m.run(); /**
将键盘k连接到接口useUSB上,键盘可以使用自己的功能
*/
KeyboardUSB k = new KeyboardUSB();
c.useUSB(k);
k.run(); /**
连接接口useUSB的东西t,可以使用
*/
USB t = new ThingUSB();//多态性。能连接接口就可以使用。
c.useUSB(t);
}
}

三、代码运行:

  

Java面向对象之USB接口实例的更多相关文章

  1. Java面向对象作业-用接口方式测试向下转型

    Java面向对象作业-用接口方式测试向下转型 根据视频的里实例 我们直接修改Test2测试方法: package com.java1234.chap03.sec13; public class Tes ...

  2. Java面向对象之类、接口、多态

    Java面向对象之类.接口.多态 类 class Person { // 实例属性 int age; String name; // 类属性 static int v = 1; // 构造器 publ ...

  3. Java面向对象之抽象方法&接口

    在开始写抽象类之前,有一个问题我觉得想清楚会对理解抽象类很有帮助:那就是为什么要设计抽象类? 难道用类还不够么,为什么要设计出抽象类这样一个东西.我们可以换个角度来理解,就是有些类本来就是不应该被实例 ...

  4. JAVA面向对象 - 抽象类、接口

    抽象类 用abstract关键字来修饰一个类时,这个类就叫抽象类,用abstract关键字来修饰一个方式时,这个方法就是抽象方法.当一个类继承的父类是抽象类的话,需要我们把抽象类中的所有抽象方法全部实 ...

  5. java面向对象程序设计(下)-接口的定义

    抽象类是从多个类中抽象出来的模板,如果将这种抽象进行得更加彻底,则可以提炼出一种更加特殊的"抽象类"-接口(interface),Java9对接口进行了改进,允许在接口中定义默认方 ...

  6. Java面向对象之封装 入门实例(一)

    一.基础概念 (一)面向对象的三大特征:      1.封装         2.继承          3.多态 (二)封装:隐藏实现细节,对外提供公共的访问方式(接口). 封装的体现之一:将属性都 ...

  7. java面向对象--抽象类和接口

    如果某个父类只知道其子类应该包含哪些方法,但无法知道如何实现这些方法,同时要使用多态的特性,怎么办? 抽象方法:关键字abstract允许在一个类中创建一个或多个没有方法体的方法--只提供方法签名,但 ...

  8. Java面向对象—抽象类和接口

    本文引用海子的一篇文章:http://www.cnblogs.com/dolphin0520/p/3811437.html 一.抽象类 在了解抽象类之前,先来了解一下抽象方法.抽象方法是一种特殊的方法 ...

  9. Java面向对象---抽象类与接口

    final关键字 1.final关键字在java中被称为完结器,表示最终的意思: 2.final能声明类.方法.属性: 3.使用final声明的类不能被继承,使用final声明的方法不能被重写,使用f ...

随机推荐

  1. 阿里云ECS centos7 支持IPv6

    1.编辑 /etc/sysctl.conf 文件,将其中三条禁用IPv6的设置更改为: net.ipv6.conf.all.disable_ipv6 = 0 net.ipv6.conf.default ...

  2. Linux日志文件查看和搜查命令(错误日志排查定位)

    一.cat命令 cat 命令用于连接文件并打印到标准输出设备上,主要用来查看文件内容,创建文件,文件合并,追加文件内容等功能. 语法格式 cat [-AbeEnstTuv] fileName 参数说明 ...

  3. zookpeer的安装与配置

    zookpeer集群搭建: 集群搭建过程简介: 这里准3台服务器做zk(zookpeer下面简称zk)集群搭建: zk集群由一个leader和两个follower组成,对外端口默认为2181端口,关于 ...

  4. java游戏制作之水果忍者

    水果忍者的原理很简单,主要就是采用随机的方式是画面上面出现水果. package Fruitninja; import java.awt.Dimension; import java.awt.Grap ...

  5. django dynamic model

    django model 首先对于一个习惯用django model的骚年来说,你肯定对django model自定制用的很熟悉,但突然让你用django dynamic model,也许会有很多人懵 ...

  6. Python函数之返回值、作用域和局部变量

    一.函数返回值 说到返回值,相信大家肯定都认识,没错,就是return. 所谓返回值可以这样理解:函数外部的代码要想获取函数的执行结果,就可以在函数里用return语句把结果返回. 那具体怎么用呢?接 ...

  7. The 1st day of learning Python

    This is the first day of studying Python. From 3PM to now, It has taken me nearly 5 hours to 初步了解 py ...

  8. codeforce453DIV2——D. GCD of Polynomials

    题意 给出n(1–150). 输出两个多项式A,B从常数到最高次的系数,使得对两个多项式求gcd时,恰好经过n步得到结果. 多项式的gcd一步是指(A(x),B(x))变成(B,A mod B)的过程 ...

  9. 值得一做》一道类似于货车运输的题目(BZOJ3732)(easy+)

    这是一道模板套模板的题目,只要会LCA和最小生成树就可以做,水题 直接先甩题目 Description 给你N个点的无向图 (1 <= N <= 15,000),记为:1…N. 图中有M条 ...

  10. 10.Execution failed with exit status: 3

    错误信息: insert overwrite table t_mobile_mid_use_p_tmp4_rcf select '201411' as month_id, a.prov_id, a.c ...