做个复习案例(把面向对象三大特征给复习一遍 以及接口 )
package com.itheiReview; /** * @program: javaDemo01->TestReview * @description: 复习案例 * @author: 安生 * @create: 2021-01-19 22:51 **/ import java.security.Key; /** 需求: 弄一台电脑 (实现USB功能) USB(鼠标,键盘) 实现插入和拔出 以及特有功能 */ public class TestReview { public static void main(String[] args) { //买一台电脑 Computer c = new Computer(); //创建鼠标 小米鼠标 USB xiaomi = new Mouse("小米鼠标"); c.installUSB(xiaomi); System.out.println("--------------"); USB shaunfei = new Mouse("双飞键盘"); c.installUSB(shaunfei); } } //电脑类 提供USB的入口 具体实现出来 class Computer{ public void installUSB(USB usb){ //插入 usb.connect(); // 特有方法 if(usb instanceof Mouse){ Mouse m = (Mouse) usb; m.dbClick(); }else if(usb instanceof KeyBoard){ KeyBoard k = (KeyBoard) usb; k.keyDown(); } // 拔出 usb.unconnect(); } } //鼠标 提供一个鼠标的规范 class Mouse implements USB{ private String name; public Mouse(){} public Mouse(String name) { this.name = name; } //鼠标 双击的特有功能 public void dbClick(){ System.out.println("来了 老铁 双击点亮小红♥"); } @Override public void connect() { System.out.println(name+"插入鼠标连接成功!"); } @Override public void unconnect() { System.out.println(name+"拔出鼠标连接成功!"); } } //键盘 提供一个键盘的规范 class KeyBoard implements USB{ private String name; public KeyBoard(){} public KeyBoard(String name) { this.name = name; } //键盘 敲键盘的特有功能 public void keyDown(){ System.out.println("敲出了 来了 老弟"); } @Override public void connect() { System.out.println(name+"插入键盘连接成功!"); } @Override public void unconnect() { System.out.println(name+"拔出键盘连接成功!"); } } //第一步 规范接口 USB interface USB{ // 公有功能: //插入 void connect(); //拔出 void unconnect(); }