面向对象之接口

接口:
    A类,B类,C类,ABC均不相同
    D类,含有ABC中的一些特点
    有时我们需要从多个不相关的类中设计出一个子类型,而java继承是单继承的特点
    无法满足我们的需求,所以我们可以使用接口来达到多继承的目的

    接口实际上就是一种规范制度。(规则与规范--与抽象类差不多)

面向对象之接口_第1张图片
接口的特点:    
    1、接口使用interface关键字,而不是class,但是我们可以理解成
    接口是特殊的抽象类


    2、接口里只能有抽象方法和常量

【(1.8以后支持默认方法和静态方法,静态成员变量可以添加,必须初始化,因为接口不能添加构造器。)

面向对象之接口_第2张图片


    3、接口不能实例化,创建对象没有任何意义
    4、接口不能提供构造器,static修饰的需要先加载到内存中,如果没有初始化,会默认提供值,

          而final修饰的成员变量不能再改变,而构造器主要作用是初始化成员变量,常量不能被再次赋值

          所以无法提供构造器

 

面向对象之接口_第3张图片
接口中的常量:
    默认使用public static final (可以不写)
接口中的方法:
    默认使用 public abstract(可以不写)
接口的实现
    1、子类需要实现接口中的所有抽象方法
    2、implements 关键字进行实现
    3、如果子类没有实现所有抽象方法,那么子类需要使用abstract修饰

          ---如果只实现一部分,那么这个类就存在抽象方法,有抽象方法的一定是抽象类

面向对象之接口_第4张图片
    4、子类可以实现多个接口,接口见使用逗号分开


接口间的继承
    1、接口与接口之间可以使用继承
    子接口继承父接口的抽象方法

你可能感兴趣的:(面向对象之接口)