package test02.multiint;
public interface USB {
public abstract void open();
public abstract void close();
}
package test02.multiint;
import test02.multiint.USB;
public class Mouse implements USB {
@Override
public void open() {
System.out.println("mouse is open");
}
public void use() {
System.out.println("mouse is using");
}
@Override
public void close() {
System.out.println("mouse is close");
}
}
package test02.multiint;
import test02.multiint.USB;
public class KeyBoard implements USB {
@Override
public void open() {
System.out.println("KeyBoard is open");
}
public void use() {
System.out.println("KeyBoard is using");
}
@Override
public void close() {
System.out.println("KeyBoard is close");
}
}
package test02.multiint;
public class Computer {
public void powerOn() {
System.out.println("Computer is on");
}
public void useDevise(USB usb) {
usb.open();
if (usb instanceof Mouse) {
Mouse mouse = (Mouse) usb;
mouse.use();
}
if (usb instanceof KeyBoard) {
KeyBoard keyBoard = (KeyBoard) usb;
keyBoard.use();
}
usb.close();
}
public void powerOff() {
System.out.println("Computer is off");
}
}
package test02.multiint;
public class TestMain {
public static void main(String[] args) {
Computer computer = new Computer();
computer.powerOn();
/*普通写法
Mouse mouse = new Mouse();
KeyBoard keyBoard = new KeyBoard();
computer.useDevise(mouse);
computer.useDevise(keyBoard);
*/
//使用向上转型的方法
USB mouse = new Mouse();
USB keyBoard = new KeyBoard();
computer.useDevise(mouse);
computer.useDevise(keyBoard);
computer.powerOff();
}
}
网友评论