接口是什么?接口长什么样?java的Interface

今天来看看java接口长哪样。接口是特殊抽象类。

一个子类只能继承一个抽象类(父类),所以就有接口这个特殊抽象类。

下面以一个电脑的USB为例:

定义接口标准

public interface USBA {
        public void install();
        public void work();

}

-

public interface USBB {

    public void install();
    public void work();
    public void over();
}

Computer.java 电脑类安装了USBA和USBB

//
public class Computer {

    public void pluginA(USBA usba)
    {
        usba.install();
        usba.work();
    }
    public void pluginB(USBA usba,USBB usbb)
    {
        usba.install();
        usba.work();
        usbb.over();
    }
}

手机类

public class Phone implements USBA {

    public void install()
    {
        System.out.println("正在安装手机驱动");
    }
    public void work()
    {
        System.out.println("电脑可以打电话了");
    }
    
}

-

public class Print implements USBA {

    public void install()
    {
        System.out.println("安装打印机驱动");
    }
    public void work()
    {
        System.out.println("打印机开始工作了");
    }
}

-

public class Virus implements USBB,USBA {

    @Override
    public void install() {
        // TODO Auto-generated method stub
        System.out.println("病毒开始入侵");
    }

    @Override
    public void work() {
        // TODO Auto-generated method stub
        System.out.println("病毒正在破坏系统");
    }

    @Override
    public void over() {
        // TODO Auto-generated method stub
        System.out.println("病毒进行了格盘,与系统同归于尽。啾");
    }

}

程序主入口BodyMain.java。

//
public class BodyMain {

    public static void main(String[] args) {
        // TODO Auto-generated method stub

        Computer c = new Computer();//实例化电脑,你正在用电脑 
        c.pluginA(new Phone());//在电脑USB1接上了手机
        c.pluginA(new Print());
        c.pluginB(new Virus(), new Virus());//USBA和USBB都接上了病毒。一个子类可以实现多个接口
    }

}

运行结果

原文地址:https://www.cnblogs.com/zdfbk/p/8360194.html