1.接口定义:
public interface USB {
// 接口设备的抽象方法,打开设备
void open();
// 接口设备的抽象方法,关闭设备
void off();
}
2.电脑类定义
public class Computer {
// 电脑开机功能
public void powerOn(){
System.out.println("电脑开机!");
}
// 电脑关机功能
public void powerOff(){
System.out.println("电脑关机!");
}
// 实现USB接口功能
public void useDevice(USB usb){
// 打开USB设备
usb.open();
// 使用向下转型,从而实现不同设备的独特功能
if (usb instanceof Mouse){
Mouse mouse = (Mouse) usb;
mouse.click();
}else if (usb instanceof KeyBoard){
KeyBoard keyBoard = (KeyBoard) usb;
keyBoard.Enter();
}
usb.off();
}
}
3.Mouse设备定义:
public class Mouse implements USB{
@Override
public void open() {
System.out.println("打开鼠标!");
}
// 鼠标的独特点击功能
public void click(){
System.out.println("点击鼠标!");
}
@Override
public void off() {
System.out.println("关闭鼠标!");
}
}
4.KeyBoard设备定义:
public class KeyBoard implements USB{
@Override
public void open() {
System.out.println("打开键盘!");
}
// 键盘的录入功能
public void Enter(){
System.out.println("键盘输入!");
}
@Override
public void off() {
System.out.println("关闭键盘!");
}
}
5.Demo实现:
public class DemoMain {
public static void main(String[] args) {
// 实例化电脑
Computer computer = new Computer();
computer.powerOn();
// 向上转型,鼠标
USB m = new Mouse();
computer.useDevice(m);
//向上转型,键盘
USB kb = new KeyBoard();
computer.useDevice(kb);
computer.powerOff();
}
}