接口与抽象类的区别:
共 性:都是不断抽取出来的抽象的概念
区别 1:抽象类体现继承关系,一个类只能单继承
接口体现实现关系,一个类可以多实现,避免单继承的局限性.
区别 2:抽象类是继承,是 "is a "关系
接口是实现,是 "like a"关系
区别 3:抽象类中有构造方法,可以有变量,常量,有抽象方法.
可以定义非抽象方法,供子类直接使用.
接口中只有常量,没有构造方法. 方法都是抽象,接口中的成员都有固定修饰符.
默认修饰符为:
成员常量:public static final 成员方法:public abstract
区别 4: 设计理念
类继承是定义了这个体系的共性内容
接口被实现是定义了体系的扩展内容,是对外暴露的规则
如果抽象类中只有抽象方法,并且只有常量,这个抽象类就可以用接口表示。接口的出现降低耦合性。
类与接口之间是实现关系,而且类可以继承一个类的同时实现多个接口。
接口与接口: 继承关系,可以单继承,也可以多继承。 |