package cn. itcats. demo;
public class Computer {
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 ( ) ;
} if ( usb instanceof Keyboard ) {
Keyboard keyboard = ( Keyboard) usb;
keyboard. word ( ) ;
}
usb. close ( ) ;
}
}
package cn. itcats. demo;
public class Keyboard implements USB {
@Override
public void open ( ) {
System. out. println ( "打开键盘" ) ;
}
@Override
public void close ( ) {
System. out. println ( "关闭键盘" ) ;
}
public void word ( ) {
System. out. println ( "键盘输入" ) ;
}
}
package cn. itcats. demo;
public interface USB {
public abstract void open ( ) ;
public abstract void close ( ) ;
}
package cn. itcats. demo;
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 ( "鼠标点击点击" ) ;
}
}
package cn. itcats. demo;
public class Demo {
public static void main ( String[ ] args) {
Computer computer = new Computer ( ) ;
computer. powerOn ( ) ;
USB usbMouse = new Mouse ( ) ;
computer. useDevice ( usbMouse) ;
Keyboard keyboard = new Keyboard ( ) ;
computer. useDevice ( keyboard) ;
computer. powerOff ( ) ;
}
}