关键字:interface,implements
接口:是一种特殊的抽象类。比抽象类更抽象,它里面的方法都是抽象的。
接口是通过类来实现的(implements)。
接口也有多态。
接口的特点:
A:接口不能被实例化
B:接口中的方法要么被子类重写,要么子类也是抽象类
接口的成员特点:
成员变量:
接口中只有常量。静态修饰
接口的成员变量有默认修饰符:public static final
构造方法:
接口是没有构造方法的,不需要对数据进行初始化。都是静态数据,随着类的加载而加载。
(任何类如果没有继承父类,那么它继承的就是Object类)
成员方法:
接口中只有抽象方法。
任何子类默认调用父类的无参构造,因为Object类中只有一个无参构造。所有类都直接或间接的继承Object类,Object类是所有类的超类。
类与类之间的关系:
继承关系,只有单继承,但是可以多层继承。
类之间不能多继承的原因是因为调用不明确。
类与接口的关系:
实现关系。可以单实现,也可以多实现。也可以在继承的同时实现接口。
接口与接口的关系:
继承关系。可以多继承,也可以多继承。
接口中可以多继承,不会出现调用不明确,因为接口中的方法都是抽象的,没有方法体。
接口和抽象类的特点:
1、成员特点
抽象类:
成员变量:可以是变量,也可以使常量
构造方法:有构造方法
成员方法:可以是抽象方法,也可以使非抽象方法
接口:
成员变量:只能是常量。public static final
成员方法:只能是抽象方法。public abstract
2、关系特点
类与类的关系。
类与接口的关系。
接口和接口的关系
3、设计理念的区别
抽象类被继承,这个类中定义的是整个继承体现的共性内容。(对于人:姓名,年龄)
体现:is a
接口被实现,这个接口定义的是整个体现的扩展内容。(英语,法语)
案例: