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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© rehan 中级黑马   /  2015-2-13 10:27  /  903 人查看  /  10 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

接口里面封装了抽象方法对吧?抽象类里面也有抽象方法?那为什么我们都使用接口了,通过实现接口来完成某一个功能,而使用抽象类也可以啊,他们应该是功能相同的吧?有什么使用区别呢?

点评

楼上的已经清楚地说明了!  发表于 2015-2-13 11:02

10 个回复

倒序浏览
书生灬流年 来自手机 中级黑马 2015-2-13 10:52:45
沙发
抽象类只能被继承,而且是单一继承。,借口是被实现,而且是可以多实现的。抽象类中可以定义非抽象方法,而借口中只能定义抽象方法,而且有固定格式,全是public

点评

而且抽象类是is a关系,接口是like a关系  发表于 2015-2-13 10:55

评分

参与人数 1技术分 +1 收起 理由
lwj123 + 1

查看全部评分

回复 使用道具 举报
书生灬流年 发表于 2015-2-13 10:52
抽象类只能被继承,而且是单一继承。,借口是被实现,而且是可以多实现的。抽象类中可以定义非抽象方法,而 ...

抽象类也可以被继承吗?
回复 使用道具 举报
进来学习学习
回复 使用道具 举报
抽象类可以被继承但要覆写抽象方法,如果不覆写抽象方法本类也要声明是抽象类
回复 使用道具 举报
huangchunwei 来自手机 中级黑马 2015-2-14 23:13:12
地板
学习学习。。
回复 使用道具 举报
看来我要看看这部分了  都忘了
回复 使用道具 举报
除了一楼所说的,其实还有应用的场景不同,抽象类是需要实现抽象方法的类,既然是类其子类与其有这很大的联系即父子关系;而接口则是对某些类的公用功能的抽取,是一种功能的扩展,其实现的子类与其本身没都很大的逻辑关系,同时接口可以是多继承的
回复 使用道具 举报
wu1123 中级黑马 2015-2-15 10:32:35
9#
心里有一定的答案,但是模糊不清,看到一句话觉得有用“接口是对动作的抽象,抽象类是对根源的抽象”,大家一起看看是不是这样
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马