抽象类和接口的区别

抽象类和接口的区别:

A:成员区别:

抽象类:

成员变量:可以使变量,也可以是常量。

构造方法:有。

成员方法:可以抽象,也可以非抽象。

接口:

成员变量:只能是常量。

成员方法:只能是成员方法。

B:关系与区别

类与类:继承关系,只能单继承,可以多层继承。

类与接口:实现关系,可以单实现,也可以多实现,并且还可以在继承一个类的同时实现多个接口。

接口与接口:继承关系,可以单继承,也可以多继承。

C:设计理念区别:

抽象类,被继承体现的是:“is a”的关系。抽象类中定义的是该继承体系的共性功能。

接口:被实现的是:“like a”的关系。接口中定义的是该继承体系的扩展功能。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 先来看看抽象类和接口的定义: 抽象类(abstract class): 使用abstract修饰符修饰的类。官方点...
    IT废柴阅读 54,057评论 7 45
  • 区别: 接口(interface)可以说成是抽象类的一种特例,接口中的所有方法都必须是抽象的。 接口中的方法定义默...
    SinX竟然被占用了阅读 3,093评论 0 1
  • 1.接口: 因为java不支持多继承,所以有接口,一个类只能继承一个父类,但是可以实现多个接口,接口本身也可以继承...
    Dandelions丶ky阅读 2,865评论 0 0
  • abstract关键字修饰的类就是抽象类(abstract class),抽象类是声明方法的存在而不去实现它的类,...
    StrongZhao阅读 2,682评论 0 0
  • 首先,我感觉这篇文章最重要的应该是不同点的第二条,抽象类和接口的设计目的,为什么不同,而不是下面这些细枝末节的细节...
    DrunkPian0阅读 1,688评论 0 0

友情链接更多精彩内容