接口的基本特点;
1、接口不能被实例化。
2、接口中的方法:
第一种:要么被子类重写。
第二种:要么子类是抽象类(接口)。
成员特点:
成员变量:只有常量。
所有的成员变量都有默认修饰符:public static final
构造方法:没有构造方法。
如果一个类没有继承自其他类,那么这个类默认就继承自Object类。
成员方法:接口中只有抽象方法。
所有的成员方法都有默认修饰符:public abstract
推荐:永远手动给出修饰符。
总结:接口中有且只有常量和抽象方法。
所有的类,都直接或者间接的继承自Object类。
类与接口之间的关系:
类与类:继承关系。可以单继承,也可以多层继承。
类与接口:实现关系。可以单实现,也可以多实现,
还可以在继承一个类的同时实现一个(多个)接口。
注意:多实现的时候,多个接口名之间用,隔开。
接口与接口:继承关系。可以单继承,也可以多继承。
注意:多继承的时候,多个接口名之间用,隔开。
接口的思想特点:
1、接口是对外暴露的规则。
2、接口是程序对外的功能扩展。
3、接口的出现降低了“耦合性”。
4、接口可以多实现。
设计原理:
高内聚,低耦合。
内聚:指的是类本身独立完成某些功能的能力。
耦合:类与类之间的关系。
抽象类和接口的区别:
1、成员特点
抽象类:
成员变量:可以是变量,也可以是常量。
构造方法:有。
成员方法:可以是抽象的,也可以是非抽象的。
接口:
成员变量:只能是常量。
构造方法:没有。
成员方法:只能是抽象方法。
2、关系特点:
类与类:继承关系,只支持单继承,可以多层继承。
类与接口:实现关系。可以单实现,也可以多实现,还可以继承一个类的同时实现一个(多个)接口。
接口与接口:继承关系。可以单继承,也可以多继承。
3、设计理念的区别:
抽象类:存的是整个继承体系的同性内容。(is a的关系)
接口:存的是整个继承体系的扩展内容。(like a的关系)
|