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

发布网友 发布时间:2022-03-24 19:57

我来回答

4个回答

懂视网 时间:2022-03-25 00:19

抽象类和接口的区别有:

  

  1、抽象类要被子类继承,接口要被类实现。

  

  2、接口只能做方法声明,抽象类中可以作方法声明,也可以做方法实现。

  

  3、接口里定义的变量只能是公共的静态的常量,抽象类中的变量是普通变量。

  

  4、接口是设计的结果,抽象类是重构的结果。

  

  5、抽象类和接口都是用来抽象具体对象的,但是接口的抽象级别最高。

  

  6、抽象类可以有具体的方法和属性,接口只能有抽象方法和不可变常量。

  

  7、抽象类主要用来抽象类别,接口主要用来抽象功能。

  

      

热心网友 时间:2022-03-24 21:27

1、意思不同:

接口(硬件类接口)是指同一计算机不同功能层之间的通信规则称为接口。

抽象类用来表征对问题领域进行分析、设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象。

2、存在情况不同:

接口当中不能存在非抽象的方法。

抽象类当中可以存在非抽象的方法。

3、成员变量不同:

接口中的成员变量默认的都是静态常量(static final)。

抽象类中的成员变量可以被不同的修饰符来修饰。

4、概念不同:

接口是一种行为规范。

抽象类是对象的抽象。

1、抽象类不能直接实例化,并且对抽象类使用 new 运算符会导致编译时错误。虽然一些变量和值在编译时的类型可以是抽象的,但是这样的变量和值必须或者为 null,或者含有对非抽象类的实例的引用。

2、允许(但不要求)抽象类包含抽象成员。

3、抽象类不能被密封。

扩展资料:

接口和抽象类的相似之处:

1、不能实例化。

2、包含未实现的方法声明。

3、派生类必须实现未实现的方法,抽象类是抽象方法,接口则是所有成员(不仅是方法包括其他成员)。

参考资料来源:百度百科-接口

参考资料来源:百度百科-抽象类



热心网友 时间:2022-03-24 22:45

初学者,都觉得接口的功能可以完全替代抽象类的功能,其实他们有很大区别,如果需要属性被继承,而不仅仅是方法,则需要用抽象类,当然还有很多啦,你搜索下自己看,我刚才搜了下,有很多网友解释的很好,在此不再赘述!

热心网友 时间:2022-03-25 00:19

1. 抽象类可以有构造方法,接口中不能有构造方法。
2. 抽象类中可以有普通成员变量,接口中没有普通成员变量

3. 抽象类中可以包含静态方法,接口中不能包含静态方法

4. 一个类可以实现多个接口,但只能继承一个抽象类。

5. 接口可以被多重实现,抽象类只能被单一继承

6. 如果抽象类实现接口,则可以把接口中方法映射到抽象类中作为抽象方法而不必实现,而在抽象类的子类中实现接口中方法
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com