1.需求分析
(这个程序写的不是太好,自己写的,其实可以把computer直接写成一个类,在main中进行创建使用即可。这篇博客中是在main方法中直接定义了)
2.代码实现
USB.interface
package Demo02USB;
//设置为抽象方法,让键盘和鼠标重写
public interface USB {
//打开设备
public abstract void deviceOn();
//关闭设备
public abstract void deviceOff();
}
Key.java
package Demo02USB;
public class Key implements USB{
@Override
public void deviceOn() {
System.out.println("打开键盘");
}
@Override
public void deviceOff() {
System.out.println("关闭键盘");
}
public void type(){
System.out.println("打字");
}
}
Mouse.java
package Demo02USB;
public class Mouse implements USB{
@Override
public void deviceOn() {
System.out.println("打开鼠标");
}
@Override
public void deviceOff() {
System.out.println("关闭鼠标");
}
public void click() {
System.out.println("点击");
}
}
Demo02Laptop.java
package Demo02USB;
public class Demo02Laptop {
public static void main(String[] args) {
powerOn();
Key key = new Key();
useDevice(key);
Mouse mouse = new Mouse();
useDevice(mouse);
powerOff();
}
public static void powerOn() {
System.out.println("笔记本开机了");
}
public static void powerOff() {
System.out.println("笔记本关机了");
}
//利用instanceof,直接输入一个USB,让它自己判断父类是什么,然后执行对应的方法。
public static void useDevice(USB usb) {
if (usb instanceof Mouse) {
Mouse mouse = (Mouse) usb;
mouse.deviceOn();
mouse.click();
mouse.deviceOff();
} else if (usb instanceof Key) {//最好加上else if,以后就方便再加其他设备
Key key = (Key) usb;
key.deviceOn();
key.type();
key.deviceOff();
}
}
}
//笔记本开机了
//打开键盘
//打字
//关闭键盘
//打开鼠标
//点击
//关闭鼠标
//笔记本关机了