public interface USB {
public abstract void open ();
public abstract void close();
}
public class Mouse implements USB{
@Override
public void open() {
System.out.println("打开鼠标");
}
@Override
public void close() {
System.out.println("关闭鼠标");
}
public void click(){
System.out.println("鼠标点击");
}
}
public class Keyboard implements USB{
@Override
public void open() {
System.out.println("打开键盘");
}
@Override
public void close() {
System.out.println("关闭键盘");
}
public void type(){
System.out.println("键盘输入");
}
}
public class Laptop {
public void powerOn (){
System.out.println("笔记本电脑开机");
}
public void powerOff (){
System.out.println("笔记本电脑关机");
}
public void useDevice (USB usb) {
usb.open();
if(usb instanceof Mouse) {
Mouse mouse = (Mouse) usb;
mouse.click();
} else if(usb instanceof Keyboard) {
Keyboard keyboard = (Keyboard) usb;
keyboard.type();
}
usb.close();
}
}
public class DemoMain {
public static void main(String[] args) {
Laptop laptop = new Laptop();
laptop.powerOn();
Mouse mouse = new Mouse();
USB usb = new Mouse();
laptop.useDevice(usb);
Keyboard keyboard = new Keyboard();
laptop.useDevice(keyboard);
laptop.powerOff();
}
}