java抽象类和接口的区别

来源:互联网 发布:mac 游戏排行 编辑:程序博客网 时间:2024/06/03 20:22

抽象类:在面向语言的概念中,所有的对象都是通过类来描绘的,但是反过来却不是这样,如果一个类中没有足够的信息去描绘一个具体的对象,那么这个类就是抽象类。

接口:不同类的对象对同一行为产生不同的行为结果,换言之既是一系列方法的声明,一些方法特征的集合,具体的实现由子类去完成。


其二者区别:

1、抽象类可以有构造方法, 而接口不能有。

2、抽象类可以有普通成员变量,而接口不能有。

3、抽象类可以包含非抽象的普通方法,而接口中所有的方法必须是抽象的,不能有非抽象的普通方法

4、抽象类的抽象方法的访问类型可以是public、protected和默认类型,但接口中的抽象方法必须是public类型的,并且默认public abstract。

5、抽象类可以包含静态方法,而接口中不能包含

6、一个类可以实现多个接口,只能继承一个抽象类。