发布网友 发布时间:2022-03-24 19:57
共2个回答
懂视网 时间:2022-03-25 00:19
抽象类和接口的区别有:
1、抽象类要被子类继承,接口要被类实现。
2、接口只能做方法声明,抽象类中可以作方法声明,也可以做方法实现。
3、接口里定义的变量只能是公共的静态的常量,抽象类中的变量是普通变量。
4、接口是设计的结果,抽象类是重构的结果。
5、抽象类和接口都是用来抽象具体对象的,但是接口的抽象级别最高。
6、抽象类可以有具体的方法和属性,接口只能有抽象方法和不可变常量。
7、抽象类主要用来抽象类别,接口主要用来抽象功能。
热心网友 时间:2022-03-24 21:27
区别一,两者表达的概念不一样。抽象类是一类事物的高度聚合,那么对于继承抽象类的子类来说,对于抽象类来说,属于“是”的关系;而接口是定义行为规范,因此对于实现接口的子类来说,相对于接口来说,是“行为需要按照接口来完成”。这些听起来有些虚,举个例子。例如,狗是对于所有狗类动物的统称,京哈是狗,牧羊犬是狗,那么狗的一般特性,都会在京哈,牧羊犬中找到,那么狗相对于京哈和牧羊犬来说,就属于这类事物的抽象类型;而对于“叫”这个动作来说,狗可以叫,鸟也可以叫。很明显,前者相当于所说的是抽象类,而后者指的就是接口。