转自:
抽象类:
抽象类往往用来表征对问题领域进行分析、设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象。
通常在编程语句中用 abstract 修饰的类是抽象类。在C++中,含有纯虚拟函数的类称为抽象类,它不能生成对象;在java中,含有抽象方法的类称为抽象类,同样不能生成对象。
抽象类是不完整的,它只能用作基类
接口:
接口泛指实体把自己提供给外界的一种抽象化物(可以为另一实体),用以由内部操作分离出外部沟通方法,使其能被内部修改而不影响外界其他实体与其交互的方式
下文笔者讲述java中抽象类和接口的区别简介说明,如下所示:
不同之处1
从字面意思上看 抽象类是一个类 接口是一个接口 两者的概念完全不同
不同之处2
抽象类中可编写构造方法 接口中只可编写默认方法
不同之处3
抽象类可以有自己的各种成员变量 可以使用自己的非抽象方法进行改变 而接口中的变量默认全是 public static final 修饰的,意味着都是常量 且不能被自己和外部修改
不同之处4
接口可以实现多继承 抽象类只能单继承