>  기사  >  백엔드 개발  >  接口类跟抽象类有什么区别

接口类跟抽象类有什么区别

WBOY
WBOY원래의
2016-06-13 11:59:171026검색

接口类和抽象类有什么区别
总感觉他们两是一个东西又不是一个东西,有种混乱的感觉。
------解决方案--------------------
抽象类
规定了一系列的方法,并规定了必须由继承类实现的方法。由于有抽象方法的存在,所以抽象类不能实例化
可以将抽象类理解为毛坯房,门窗、墙面的样式由你自己来定
所以抽象类与作为基类的普通类的区别在于约束性更强

接口类
与抽象类很相似,表现在接口中定义的方法,必须由引用类实现
但他与抽象类的根本区别在于用途:与不同个体间沟通的规则(方法)
你要进宿舍需要有钥匙,这个钥匙就是你与宿舍的接口
你的同室也有这个接口,所以他也能进入宿舍
你用手机通话,那么手机就是你与他人交流的接口

------解决方案--------------------
1. 接口是抽象类的变体,接口中所有的方法都是抽象的。而抽象类中可以有非抽象方法。抽象类是声明方法的存在而不去实现它的类。
2. 接口可以继承,抽象类不行。
3.接口定义方法,没有实现的代码,而抽象类可以实现部分方法。
4.接口中基本数据类型为static 而抽类象不是。
5.接口可以继承,抽象类不行。
6.可以在一个类中同时实现多个接口。
7.接口的使用方式通过implements关键字进行,抽象类则是通过继承extends关键字进行

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.