定义一个usb接口,鼠标,键盘,麦克风都可以连接到usb接口使用。计算机开机时,这些设备随之开启,关机时,随之关闭。
第一步:
创建一个usb接口
public interface USB {
void turnOn();//定义一个启动的抽象方法
void turnOff();//定义一个关闭的抽象方法
}
第二步:
创建一个鼠标类,实现usb接口,额外定义鼠标点击的方法click()。
//定义一个鼠标类实现接口 public class Mouse implements USB { //覆盖重写接口的抽象方法 @Override public void turnOn() { System.out.println("鼠标启动了"); } @Override public void turnOff() { System.out.println("鼠标关闭了"); } //自定义的方法 public void click (){ System.out.println("鼠标点击"); } }
第三步:
创建一个键盘类,实现usb接口,额外定义键盘输入的方法type()。
//定义一个键盘类实现接口 public class Keyboard implements USB{ //覆盖重写接口的抽象方法 @Override public void turnOn() { System.out.println("键盘启动了"); } @Override public void turnOff() { System.out.println("键盘关闭了"); } //自定义的方法 public void type() { System.out.println("键盘输入"); } }
第三步:
创建一个麦克风类,实现usb接口,额外定义麦克风说话的方法speak()。
//定义一个麦克风类实现接口 public class Microphone implements USB{ //覆盖重写接口的抽象方法 @Override public void turnOn() { System.out.println("麦克风启动了"); } @Override public void turnOff() { System.out.println("麦克风关闭了"); } //自定义的方法 public void speak() { System.out.println("请说话"); } }
第四步:
创建一个电脑类
public class Computer { public void powerOn(){ System.out.println("笔记本电脑开机了"); } public void powerOff(){ System.out.println("笔记本电脑关机了"); } //使用USB的方法,使用接口作为方法的参数 public void usbDevice(USB usb){ usb.turnOn();//打开设备 if(usb instanceof Mouse){ Mouse usbMouse =(Mouse) usb; usbMouse.click(); } if(usb instanceof Microphone){ Microphone usbMicrophone=(Microphone) usb; usbMicrophone.speak(); } if(usb instanceof Keyboard){ Keyboard usbKeyboard=(Keyboard) usb; usbKeyboard.type(); } usb.turnOff();//关闭设备 } }
第五步:
创建主类
public class DemoMain { public static void main(String[] args) { //首先创建一个笔记本电脑对象 Computer computer=new Computer(); computer.powerOn(); //创建一个鼠标,使用多态写法 USB mouse=new Mouse(); computer.usbDevice(mouse);//使用computer里面的方法,参数是USB类型 //创建一个键盘,使用多态写法 USB keyboard=new Keyboard(); computer.usbDevice(keyboard);//使用computer里面的方法,参数是USB类型 //创建一个麦克风,使用多态写法 USB Microphone=new Microphone(); computer.usbDevice(Microphone);//使用computer里面的方法,参数是USB类型 computer.powerOff(); } }
控制台输出如下:
联系客服