1.案例分析
2.代码实现
- USB接口
//usb接口
public interface USB {
public abstract void open();
public abstract void close();
}
- 鼠标类
public class Mouse implements USB{
@Override
public void open() {
System.out.println("打开鼠标");
}
@Override
public void close() {
System.out.println("关闭鼠标");
}
public void click(){
System.out.println("点击鼠标");
}
}
- 键盘类
public class keyboard implements USB{
@Override
public void open() {
System.out.println("打开键盘");
}
@Override
public void close() {
System.out.println("关闭键盘");
}
public void type(){
System.out.println("键盘输入");
}
}
- 电脑类
public class computer {
public void powerOn(){
System.out.println("笔记本电脑开机");
}
public void powerOff(){
System.out.println("笔记本电脑关机");
}
//使用USB设备方法
public void useDevice(USB usb){
usb.open();
//向下转型类型判断
if(usb instanceof Mouse){
Mouse mouse =(Mouse) usb;
mouse.click();;
}
else if(usb instanceof keyboard){
keyboard keyboard = (day10.demo07.keyboard) usb;
keyboard.type();
}
usb.close();
}
}
- 测试类
public class DemoMain {
public static void main(String[] args) {
//创建一个笔记本电脑
computer computer = new computer();
computer.powerOn();
//准备一个鼠标
Mouse mouse = new Mouse();
//向上转型
USB usbMouse = new Mouse();
//传递类型
computer.useDevice(usbMouse);
//创建一个USB键盘
keyboard keyboard = new keyboard();
//方法参数是USB设备,传递实现类对象
computer.useDevice(keyboard);
computer.useDevice(new keyboard());
computer.powerOff();
System.out.println("=======================");
}
}
基础知识参见作者其他博客,谢谢!!!
奥利给,今天又是元气满满的一天!!!