java之如何定義USB接口
java定義USB接口
定義USB接口,模擬各USB設(shè)備,在電腦開機(jī)時(shí)依次啟動(dòng),關(guān)機(jī)時(shí)依次退出
具體代碼實(shí)現(xiàn):
USB類
public interface USB {
void turnOn();
void turnOff();
}接口類的實(shí)現(xiàn)
//接口的實(shí)現(xiàn)類之鼠標(biāo)
public class Mouse implements USB {
public void turnOn(){
System.out.println("鼠標(biāo)啟動(dòng)了");
}
public void turnOff(){
System.out.println("鼠標(biāo)關(guān)閉了");
}
}
//接口的實(shí)現(xiàn)類之鍵盤
public class KeyBoard implements USB{
public void turnOn(){
System.out.println("鍵盤啟動(dòng)了");
}
public void turnOff(){
System.out.println("鍵盤關(guān)閉了");
}
}
//接口的實(shí)現(xiàn)類之麥克風(fēng)
public class Microphone implements USB{
public void turnOn(){
System.out.println("麥克風(fēng)啟動(dòng)了");
}
public void turnOff(){
System.out.println("麥克風(fēng)關(guān)閉了");
}
}計(jì)算機(jī)類
//計(jì)算機(jī)類
public class Computer {
private USB[] usbArr = new USB[4];
public void add(USB usb){
for(int i = 0; i < usbArr.length;i++)
{
if(usbArr[i] == null)
{
usbArr[i] = usb;
break;
}
}
}
public void powerOn() {
for(int i=0;i<usbArr.length;i++)
{
if(usbArr[i]!=null)
{
usbArr[i].turnOn();
}
}
System.out.println("電腦開機(jī)成功");
}
public void powerOff()
{
for(int i=0;i<usbArr.length;i++)
{
if(usbArr[i]!=null)
{
usbArr[i].turnOff();
}
}
System.out.println("電腦關(guān)機(jī)成功");
}
}Usb測(cè)試類
public class USBTest {
public static void main(String[] args){
Computer p = new Computer();
p.add(new Mouse());
p.add(new KeyBoard());
p.add(new Microphone());
p.powerOn();
System.out.println("-----------------");
p.powerOff();
}
}控制臺(tái)輸出內(nèi)容

注意:因?yàn)轭惖男揎椃加衟ublic,所以對(duì)于每個(gè)類,都要單獨(dú)的eclipse中的一個(gè)包內(nèi)定義這些類。
java接口應(yīng)用:用接口定義標(biāo)準(zhǔn)
接口在實(shí)際開發(fā)中,有三大核心應(yīng)用環(huán)境:
- 定義操作標(biāo)準(zhǔn)
- 表示能力
- 在分布式開發(fā)中,暴露遠(yuǎn)程服務(wù)方法。
- (后兩種應(yīng)用環(huán)境還沒(méi)接觸,等以后解釋。)
如下圖示例,比如鍵盤、鼠標(biāo)、u盤等設(shè)備與電腦連接,必須通過(guò)電腦的USB設(shè)備,才能電腦訪問(wèn),換一種例子解釋就是:要想見一個(gè)公司的大boss或者明星(電腦)。要先統(tǒng)一聯(lián)系他們的秘書(接口),然后秘書再轉(zhuǎn)達(dá)給boss或者明星(接口子類)。

代碼示例:
//使用一個(gè)接口實(shí)現(xiàn)一個(gè)標(biāo)準(zhǔn),正常的開發(fā)中先寫標(biāo)準(zhǔn)(接口),再寫類
interface USB{
public void insert();//插入
public void setup();//安裝驅(qū)動(dòng)
}
//必須按著接口的標(biāo)準(zhǔn)使用電腦
class Computer{
public void plugIn(USB usb){
usb.insert();
usb.setup();
}
}
//鼠標(biāo)
class Mouse implements USB{
public void insert(){
System.out.println("鼠標(biāo)插入");
}
public void setup(){
System.out.println("鼠標(biāo)安裝驅(qū)動(dòng)");
}
}
//U盤
class UDisk implements USB{
public void insert(){
System.out.println("U盤插入");
}
public void setup(){
System.out.println("U盤安裝驅(qū)動(dòng)");
}
}
class InterfaceDemo{
public static void main(String[] args) {
Computer computer = new Computer();//實(shí)例化電腦的對(duì)象,調(diào)用其中的方法
computer.plugIn(new Mouse());
System.out.println("================");
computer.plugIn(new UDisk());
}
}運(yùn)行結(jié)果:
鼠標(biāo)插入
鼠標(biāo)安裝驅(qū)動(dòng)
================
U盤插入
U盤安裝驅(qū)動(dòng)
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Windows系統(tǒng)下Eclipse搭建ESP32編譯環(huán)境及安裝過(guò)程
Ecppse 使用了 ESP-IDF 中的 Makefile 支持。這意味著您需要從創(chuàng)建 ESP-IDF 項(xiàng)目開始。您可以使用 github 中的 idf-template 項(xiàng)目,接下來(lái)通過(guò)本文給大家介紹Windows系統(tǒng)下Eclipse搭建ESP32編譯環(huán)境及安裝過(guò)程,感興趣的朋友一起看看吧2021-10-10
ApiOperation和ApiParam注解依賴的安裝和使用以及注意事項(xiàng)說(shuō)明
這篇文章主要介紹了ApiOperation和ApiParam注解依賴的安裝和使用以及注意事項(xiàng)說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09
Mybatis CachingExecutor二級(jí)緩存使用示例詳解
這篇文章主要介紹了?Mybatis的CachingExecutor與二級(jí)緩存使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09
WebSocket實(shí)現(xiàn)Web聊天室功能
這篇文章主要為大家詳細(xì)介紹了WebSocket實(shí)現(xiàn)Web聊天室功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-08-08
Spring 中如何根據(jù)環(huán)境切換配置 @Profile
這篇文章主要介紹了Spring中如何根據(jù)環(huán)境切換配置@Profile的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-08-08
Springcloud seata分布式事務(wù)實(shí)現(xiàn)代碼解析
這篇文章主要介紹了Springcloud seata分布式事務(wù)實(shí)現(xiàn)代碼解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-12-12
java安全編碼指南之:表達(dá)式規(guī)則說(shuō)明
這篇文章主要介紹了java安全編碼指南之:表達(dá)式規(guī)則說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-09-09

