定义一个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();
}
}
控制台输出如下: