接口

作者: 71150ce14a00 | 来源:发表于2017-06-19 18:35 被阅读3次

    接口关键字:interface, 实现implement

    事物的扩展功能使用接口
    interface 类名{}

    在类的成员位置上可以定义: 成员变量,成员函数,构造函数,静态代码块,构造代码块
    在接口的成员位置上只能写:成员变量,成员函数

    接口不是类,他的出现仅仅是给描述这个使物体系增加额外的共性功能,因此在接口中没有构造函数,也就是接口不能new对象

    接口中成员修饰符

    接口中的所有成员都有固定的修饰符,也就是说即使在接口中不写修饰符,编译的时候也会默认添加固定的修饰符
    接口中成员变量修饰符:
    public static final : 可以省略不写,如果在代码中不写,那么编译器编译源文件生成类文件的时候,会在变量前面加上这三个修饰符 public static final int a = 10;
    接口中成员函数修饰符:
    public abstract 返回值类型 函数名 (参数列表)
    接口中函数也是抽象的,没有函数体
    public abstract 可以省略, 但是建议可以省略 abstract , 不要省略public,如果在代码中不写,编译器也会默认添加的。

    注意:

    1. 接口不能创建对象,那么怎么调用接口中成员变量?
      因为成员变量规定修饰符是public final static 由于被static修饰,可以按照静态思想,通过类名调用,接口名.变量名
      2.我们以后在开发中使用最多的情况是在接口中定义抽象函数,然后在实现类中复写接口中所有函数,这就是所谓的面向接口编程

    类可以实现多个接口,但不能继承多个父类
    继承:一个类不能继承多个父类,如果多个父类存在同一功能,那么子类存在调用不确定性
    接口: 子类调用多个类相同功能时,之所以产生调用不确定性,其核心原理是因为多个父类中的功能都书写了实现功能函数体,而接口中定义了功能,但没有功能实现的函数体,而功能的实现代码需要由子类自己来写, 所以不存在调用不确定性,所以接口可以多实现

    类和类: 继承关系,一个类只能继承一个父类 extends
    类和接口: 实现关系, 一个类可以实现多个接口 implement
    接口和接口: 继承关系, 一个接口可以实现多个接口 extends

    接口可以实现多继承: 因为接口没有功能实现的代码, 就不存在不确定性,功能的实现由接口的子类来实现

    相关文章

      网友评论

        本文标题:接口

        本文链接:https://www.haomeiwen.com/subject/uehnqxtx.html