面向对象【抽象类和接口的区别】
一、成员区别
抽象类:
成员变量:可以有变量,也可以有常量
构造方法:有
成员方法:可以有抽象,也可以有非抽象
接口:
成员变量:只能是常量
构造方法:无
成员方法:可以有抽象,也可以有非抽象(JDK 1.8 之后)
二、关系区别
类与类:继承关系,单继承
类与接口:实现关系,单实现和多实现都可以
接口与接口:继承关系,单继承和多继承都可以
三、设计理念区别
抽象类:
被继承体现的是“ is a ” 的关系。抽象类中定义的是盖集成体现的共性功能。
接口:
被实现体现的是“ like a ” 的关系。接口中定义的是该继承体系的扩展功能。
Java新手,若有错误,欢迎指正!