A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 1244569409 初级黑马   /  2016-8-1 19:02  /  633 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

有哪位大神知道抽象类和接口的区别,我只知道他们中都有抽象方法,其他的就不清楚了,求解

4 个回复

正序浏览
抽象类属于类,抽象类单继承
接口不属于类,接口可以单继承,多继承,多实现
抽象类、接口都有抽象方法,接口里全是抽象方法,抽象类可以有普通方法
回复 使用道具 举报
根据我的理解 接口是一个特殊的抽象类
回复 使用道具 举报
抽象类和接口的区别:
  相同点:都有抽象方法,都不能创建对象

不同点:1抽象类中可以有非成员方法,可以有成员变量,而接口只能有抽象方法,变量必须定义为常量。
              2 抽象类有构造方法,接口没有构造方法
              3 类是被继承的,接口是被实现的
             4 从意义上来说,接口中定义的是额外的功能,比如人类,姚明球会打篮球,并不是所有人都会打球,所以把这个方法放到抽象类中被所有人(人类)继承不合适,所以定义在接口里,让需要的类(篮球运动员)去实现。而抽象方法用于,在子类几个都需要继承这个方法时,实现的方法体不同,把这个方法定义为抽象方法比较合适。

回复 使用道具 举报
什么时候使用抽象类呢?

描述一类事物的时候,发现该事物确实存在着某种行为,但是目前这种行为是不具体的,这时候就应该抽取这种行为的声明,而不去实现这种行为,这时候这种行为我们把它成为抽象的行为,这时候就应该使用抽象类了.
接口只是对一个功能的一个大概叙述,对摸个功能进行规范而已。接口能被其他的接口实现,也能在某个类上实现,表象出来的是一种功能和规范。


回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马