面向对象【抽象类和接口的区别】

一、成员区别

抽象类:

成员变量:可以有变量,也可以有常量

构造方法:有

成员方法:可以有抽象,也可以有非抽象

接口:

成员变量:只能是常量

构造方法:无

成员方法:可以有抽象,也可以有非抽象(JDK 1.8 之后)

二、关系区别

类与类:继承关系,单继承

类与接口:实现关系,单实现和多实现都可以

接口与接口:继承关系,单继承和多继承都可以

三、设计理念区别

抽象类:

被继承体现的是“ is a ” 的关系。抽象类中定义的是盖集成体现的共性功能。

接口:

被实现体现的是“ like a ” 的关系。接口中定义的是该继承体系的扩展功能。

Java新手,若有错误,欢迎指正!

原文地址:https://www.cnblogs.com/Java-biao/p/14473871.html