USB接口:
public interface USB {
public abstract void openDevice();
public abstract void closeDevice();
}
鼠标:
public class Mouce implements USB {
@Override
public void openDevice() {
System.out.println("鼠标已经连接");
}
@Override
public void closeDevice() {
System.out.println("鼠标已经断开连接");
}
public void click(){
System.out.println("鼠标点击");
}
}
键盘
public class Input implements USB{
@Override
public void openDevice() {
System.out.println("键盘已经连接");
}
@Override
public void closeDevice() {
System.out.println("键盘已经断开连接");
}
public void in(){
System.out.println("键盘输入");
}
}
笔记本
public class Book {
public void Open() {
System.out.println("开机");
}
public void close() {
System.out.println("关机");
}
使用设备:
public void usbDevice(USB device){ 首先将USB类型的设备作为参数输入;
device.openDevice(); 打开设备;
if (device instanceof Mouce){ 如果设备是鼠标;
((Mouce) device).click(); 先使用向下转换,将USB类型的device强制转换为Mouse,再调用鼠标的点击方法;
}else if (device instanceof Input){ 如果设备是键盘;
((Input) device).in(); 先使用向下转换,将USB类型的device强制转换为Input, 则使用键盘的输入;
}
device.closeDevice(); 关闭设备;
}
}
调用
public class DemoUSB {
public static void main(String[] args) {
Book book = new Book();
USB mouse = new Mouce(); 多态的写法
USB Input = new Input(); 多态的写法
book.Open();
book.usbDevice(Input);
book.usbDevice(mouse);
book.close();
}
}