接口是什么? 生活中最明显的就是电脑上的usb接口了,我们都知道,usb的作用使得电脑和任何一个电子设备只要都支持这个接口,就可以互相通信,交互就变得非常方便。在编程语言中,也是如此。

从一篇文章中看到作者是通过电脑的usb接口来解释编程语言中的接口的,写得很好,这里根据自己的理解,又作了补充解释。

      首先,接口必然涉及到至少两个对象(一个电脑+一个支持usb接口的其他设备就拿手机吧)。

定义接口为  interface USB 。 那USB对于电脑来说,肯定要有启动、卸载、读取、写入这些功能,可以把usb定义为如下

interface USB 
{
    public boolean start();
    public boolean stop();
    public String       read();
    public boolean write(String context);
}

电脑类如下,只使用接口,这样就不用关心USb设备时如何实现的。

class Computer
{
    Computer()
    {
        System.out.println("Computer设备创建成功,可以通过usb访问其他设备");
    }
//打开usb设备,并且读取信息
    public void useUSB(USB u)
    {
        u.start();
        u.read();
    }
    //退出usb设备
    public void exitUSB(USB u)
    {
        u.exit();
    }
    //写入信息到usb设备中
    public void writeUSB(USB u)
    {
        u.write("写入信息到USB");
    }
}

手机类

class Phone implements USB
{
    public Phone()
    {
        System.out.println("Phone设备制造完毕,支持usb接口");
         
    }
    public boolean start()
    {
        System.out.println("手机usb连接成功");
        return true;
    }
    public boolean stop()
    {
        System.out.println("手机usb停止成功");
        return true;
    }
    public String       read()
    {
        System.out.println("usb读取手机信息");
        return "";
    }
    public boolean write(String context)
    {
        System.out.println("usb写入手机信息");
        return true;
    }
}

接下来,展示电脑如何通过usb使用手机的

public static void main()
{
    Computer c1 = new Computer();
    USB p1 = new Phone();
    Phone p2 = new Phone();
    c1.useUSB(p1);
    c1.exitUSB(p2);
}

代码大概意思就是如此,不过,还没在jvm里面跑过这些代码,直接拷贝了一个java教程里面的,一会验证下。