一:综述
电脑利用USB接口实现键盘的输入、鼠标的移动
二:代码
USB.java
package ClassAndObject;
public interface USB {
public abstract void USB_open();
public abstract void USB_close();
}
KeyBroad.java
package ClassAndObject;
//接口的实现类
public class KeyBroad implements USB{
@Override
public void USB_open(){
System.out.println("键盘打开了");
}
@Override
public void USB_close() {
System.out.println("键盘关闭了");
}
}
Mource.java
package ClassAndObject;
//接口的实现类
public class Mource implements USB{
@Override
public void USB_open(){
System.out.println("鼠标打开了");
}
@Override
public void USB_close() {
System.out.println("鼠标关闭了");
}
}
Computer.java
package ClassAndObject;
public class Computer {
public void computer_open(){
System.out.println("电脑开机了");
}
//使用接口的方法
public void usbDerivce(USB usb){
usb.USB_open();
//向下转型 instanceof判断还原回去还是不是原来的
//大对象 instanceof 类名
if(usb instanceof KeyBroad){
System.out.println("键盘正在敲击");
}
else if(usb instanceof Mource){
System.out.println("鼠标正在游走");
}
usb.USB_close();
}
public void computer_close(){
System.out.println("电脑关机了");
}
}
Main.java
package ClassAndObject;
public class Main {
public static void main(String[] args) {
Computer computer=new Computer();
computer.computer_open();
KeyBroad key_broad=new KeyBroad();
Mource mource=new Mource();
//向上转型为接口 多态写法
USB usb_key_broad=key_broad;
computer.usbDerivce(usb_key_broad);//调用接口
//USB usb_mource=mource;
//computer.usbDerivce(usb_mource);
//相当于int->double
computer.usbDerivce(new Mource());//实现类向上转型为接口
computer.computer_close();
}
}
三:结果
电脑开机了
键盘打开了
键盘正在敲击
键盘关闭了
鼠标打开了
鼠标正在游走
鼠标关闭了
电脑关机了