接口

什么是接口?

语法:

public interface MyInterface {
    public void foo();
    //其他方法

所有方法都是: public abstract

接口的特性

接口不可以被实例化

实现类必须实现接口的所有方法,除非自身也是抽象的

实现类可以实现多个接口

接口中的变量都是静态常量

如何使用接口

根据需求设计方法

实现所有方法

用多态的方式使用

编码实现:

编写接口

public interface UsbInterface {
    /**
     * USB接口提供服务。
     */
    void service();
}

实现接口

public class UDisk implements UsbInterface {//多个接口用逗号隔开
    public void service() {
        System.out.println("连接USB口,开始传输数据。");
    }
}

使用接口

UsbInterface uDisk = new UDisk();
uDisk.service();

//用接口实现多态

 

如何理解接口是一种能力?

接口有比抽象类更好的特性:

1.可以被多继承

2.设计和实现完全分离

3.更自然的使用多态

4.更容易搭建程序框架

5.更容易更换实现 ……

抽象类vs接口

相同点 代表系统的抽象层 都不能被实例化 都能包含抽象方法 用于描述系统提供的服务,不必提供具体实现

不同点 在抽象类中可以为部分方法提供默认实现,而接口中只能包含抽象方法 抽象类便于复用,接口便于代码维护

一个类只能继承一个直接的父类,但可以实现多个接口

 

posted @ 2020-05-24 17:05  南山i南  阅读(131)  评论(0)    收藏  举报