抽象类和接口有什么区别?

提问者:帅平 问题分类:面试刷题
抽象类和接口有什么区别?
1 个回答
此生只爱你
此生只爱你
他们的主要区别有:
1、抽象类可以有构造方法;接口中不能有构造方法
2、抽象类中可以有普通成员变量;接口中没有普通成员变量
3、抽象类中可以包含非抽象类普通方法;接口中的所有方法必须都是抽象的
4、抽象类的抽象方法的访问权限可以是public、protected和default;接口中的抽象方法只能是public类型的,并且默认即为public abstract类型
5、抽象类的修饰词为abstract;接口的修饰词为interface;
6、一个类可以实现多个接口,但只能继承一个抽象类。
7、接口不可以实现接口,但可以继承接口,并且可以继承多个接口。
8、抽象类是对一种事物的抽象,即对类抽象,而接口是对行为的抽象。抽象类是对整个类整体进行抽象,包括属性、行为,但是接口却是对类局部(行为)进行抽象。
9、设计层面不同,抽象类作为很多子类的父类,它是一种模板式设计。而接口是一种行为规范,它是一种辐射式设计。
发布于:1个月前 (02-08) IP属地:四川省
我来回答