Computer 类为模板类,里面包含USB接口的相应流程,USB.java为接口,usbkeyborad与usbMouse为USB接口的实现。
main函数:
package sunxiaolei;
import Com.Computer;
import Com.USB;
import Com.usbKeyBorad;
import Com.usbMouse;
public class Main {
public static void main(String[] args) {
//类的对象类型为接口USB ,类的实现直接赋值给接口,类似于子类赋值给父类的情况
USB Key= new usbKeyBorad();
Key.start();
Key.work();
Key.end();
USB Mouse= new usbMouse();
Mouse.start();
Mouse.work();
Mouse.end();
// 以模版的方式new Computer()实现调用
Computer computer = new Computer();
computer.plugInUsb(new usbMouse()); // 直接传入一个usbMouse对象
}
}
package Com;
public class Computer { // 理解为模版,将usb实现的功能以相同的方式进行执行
public void plugInUsb(USB usb){
usb.start();
usb.work();
usb.end();
}
}
USB接口:
package Com;
public interface USB { // 接口
public void start();
public void work();
public void end();
}
package Com;
public class usbMouse implements USB{ // 接口实现
@Override
public void end() {
System.out.println("usbMouse.......end!");
}
@Override
public void start() {
System.out.println("usbMouse.......start!");
}
@Override
public void work() {
System.out.println("usbMouse.......work!");
}
}
usbkeyBorad类 接口实现类:
package Com;
public class usbMouse implements USB{ // 接口实现
@Override
public void end() {
System.out.println("usbMouse.......end!");
}
@Override
public void start() {
System.out.println("usbMouse.......start!");
}
@Override
public void work() {
System.out.println("usbMouse.......work!");
}
}