Java面向对象之USB接口实例
一、需求:
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接口实例的更多相关文章
- Java面向对象作业-用接口方式测试向下转型
Java面向对象作业-用接口方式测试向下转型 根据视频的里实例 我们直接修改Test2测试方法: package com.java1234.chap03.sec13; public class Tes ...
- Java面向对象之类、接口、多态
Java面向对象之类.接口.多态 类 class Person { // 实例属性 int age; String name; // 类属性 static int v = 1; // 构造器 publ ...
- Java面向对象之抽象方法&接口
在开始写抽象类之前,有一个问题我觉得想清楚会对理解抽象类很有帮助:那就是为什么要设计抽象类? 难道用类还不够么,为什么要设计出抽象类这样一个东西.我们可以换个角度来理解,就是有些类本来就是不应该被实例 ...
- JAVA面向对象 - 抽象类、接口
抽象类 用abstract关键字来修饰一个类时,这个类就叫抽象类,用abstract关键字来修饰一个方式时,这个方法就是抽象方法.当一个类继承的父类是抽象类的话,需要我们把抽象类中的所有抽象方法全部实 ...
- java面向对象程序设计(下)-接口的定义
抽象类是从多个类中抽象出来的模板,如果将这种抽象进行得更加彻底,则可以提炼出一种更加特殊的"抽象类"-接口(interface),Java9对接口进行了改进,允许在接口中定义默认方 ...
- Java面向对象之封装 入门实例(一)
一.基础概念 (一)面向对象的三大特征: 1.封装 2.继承 3.多态 (二)封装:隐藏实现细节,对外提供公共的访问方式(接口). 封装的体现之一:将属性都 ...
- java面向对象--抽象类和接口
如果某个父类只知道其子类应该包含哪些方法,但无法知道如何实现这些方法,同时要使用多态的特性,怎么办? 抽象方法:关键字abstract允许在一个类中创建一个或多个没有方法体的方法--只提供方法签名,但 ...
- Java面向对象—抽象类和接口
本文引用海子的一篇文章:http://www.cnblogs.com/dolphin0520/p/3811437.html 一.抽象类 在了解抽象类之前,先来了解一下抽象方法.抽象方法是一种特殊的方法 ...
- Java面向对象---抽象类与接口
final关键字 1.final关键字在java中被称为完结器,表示最终的意思: 2.final能声明类.方法.属性: 3.使用final声明的类不能被继承,使用final声明的方法不能被重写,使用f ...
随机推荐
- Linq语句:三表联查
var db = new DataEntities2(); var sss = ( from c in db.AIRPORT_HELIPORT ...
- JAVA爬取亚马逊的商品信息
在程序里面输入你想爬取的商品名字,就可以返回这件商品在亚马逊搜索中都所有相关商品的信息,包括名字和价格. 解决了在爬取亚马逊时候,亚马逊可以识别出你的爬虫,并返回503,造成只能爬取几个页面的问题. ...
- Win10系统windows mobile设备中心无法连接WinCE采集器
1.开始-->运行,输入services.msc回车 2.在打开的服务界面中,找到“基于Windows Mobile 2003的连接设备” 3.右击属性,修改成自动 4.点击登陆选项卡,选择本地 ...
- linux进行Java开发环境的部署
一.前言: 今天正式向linux开发进攻了,其中遇到一些问题简单的记录一下,为之后的再次部署提供方便. 二.linux的Java8安装的两种方法: 1.源安装很简单,一个命令搞定. sudo apt- ...
- ubuntu apt-get用法
如何在ubuntu下面直接查找想要安装的软件?比如我想安装tomcat,但是我又不知道ubuntu里面有哪些版本,也不知道都需要装什么,但是我能确认我装的是tomcat,那么我就可以用搜索命令:例如: ...
- 【原创】0. MYSQL++的环境准备
1. 获取 Google MYSQL++,第一个就是,然后跟着要求进行下载. 2. 编译和安装 其实在作者的各种README文档里面已经写得很清楚了,现在对一些可能会出现问题的地方进行一下回顾. Wi ...
- Ant之build.xml详解---可用
Ant的概念 :在Eclipse中使用Ant Ant是Java平台下非常棒的批处理命令执行程序,能非常方便地自动完成编译,测试,打包,部署等等一系列任务,大大提高开发效率. Ant和make命令很像. ...
- 【HDU4301】Divide Chocolate
题意 有一块n*2的巧克力,将它分成k块,问有多少种方法. 分析 emmm是dp没错了. 最容易想到的状态定义是f[i][j],意思是前i行,分成j块的方案数.但是发现没法转移.(后面会说一下为什么· ...
- 浅析C语言中assert的用法(转)
原文地址:http://www.jb51.net/article/39685.htm 以下是对C语言中assert的使用方法进行了介绍,需要的朋友可以参考下. assert宏的原型定义在<ass ...
- CodeForces 489E Hiking (二分+DP)
题意: 一个人在起点0,有n个休息点,每个点有两个数值,分别表示距离起点的距离xi,以及所获得的愉悦值bi,这个人打算每天走L距离,但实际情况不允许他这么做.定义总体失望值val = sum(sqrt ...