public class TestUsbInyerface {
public static void main(String[] args) {
Computer computer=new Computer();
Fan myFan=new Fan();
Lamp myLamp=new Lamp();
UDisk myUDisk=new UDisk();
computer.on(myFan);
computer.on(myLamp);
computer.on(myUDisk);
computer.executeUSB();
}
}
//1.接口/标准
interface USB{
//服务方法(做什么,由实现者指定),服务的背后是,必须遵照usb宽、高、深、金属导线做一摸一样的设计
public abstract void service();
}
//2.接口的使用者
class Computer{
//使用USB接口
USB usb;
//开机
public void on(USB usb) {//使用接口作为方法形参,可更自然的实现多态
this.usb=usb;
}
//执行USB
public void executeUSB(){
usb.service();//调用了接口中定义的方法(抽象方法)
}
}
//3.接口的实现者 设备
class Fan implements USB{
//旋转
@Override
public void service() {
System.out.println("通电——旋转");
}
}
class Lamp implements USB {
@Override
public void service() {
System.out.println("通电——照明");
}
}
class UDisk implements USB{
@Override
public void service() {
System.out.println("通电——读写数据");
}
}
运行结果: