Java中接口与抽象类的异同

如题,请列出明细相同点:不同点:作为一个新人,请明细写出全面的正解,不胜感激... 如题,请列出明细相同点:不同点:作为一个新人,请明细写出全面的正解,不胜感激 展开
 我来答
kiss0ya
2012-07-06 · TA获得超过1567个赞
知道答主
回答量:93
采纳率:0%
帮助的人:93.9万
展开全部
抽象方法是必须实现的方法。就象动物都要呼吸。但是鱼用鳃呼吸,猪用肺呼吸。
动物类要有呼吸方法。怎么呼吸就是子类的事了。
现在有很多讨论和建议提倡用interface代替abstract类,两者从理论上可以做一般性的混用,但是在实际应用中,他们还是有一定区别的。抽象类一般作为公共的父类为子类的扩展提供基础,这里的扩展包括了属性上和行为上的。而接口一般来说不考虑属性,只考虑方法,使得子类可以自由的填补或者扩展接口所定义的方法,就像JAVA王子所说的事件中的适配器就是一个很好的应用。
用一个简单的例子,比如说一个教师,我们把它作为一个抽象类,有自己的属性,比如说年龄,教育程度,教师编号等等,而教师也是分很多种类的,我们就可以继承教师类而扩展特有的种类属性,而普遍属性已经直接继承了下来。
而接口呢~还是拿教师做例子,教师的行为很多,除了和普通人相同的以外,还有职业相关的行为,比如改考卷,讲课等等,我们把这些行为定义成无body的方法,作为一个集合,它是一个interface。而教师张三李四的各自行为特点又有不同,那么他们就可以扩展自己的行为body。从这点意义上来说,interface偏重于行为。
总之,在许多情况下,接口确实可以代替抽象类,如果你不需要刻意表达属性上的继承的话。
安在秀刘继昌Bcfa5
2012-07-16 · TA获得超过2353个赞
知道小有建树答主
回答量:1428
采纳率:0%
帮助的人:607万
展开全部
接口、抽象类、普通类,类 的关系:接口可以实现接口,但不可以实现类。一个接口可以实现多个接口,一个接口可以被多个接口实现,实现与被实现是多对多关系。接口可以被类实现,类不可以被接口继承,实现与被实现是多对多关系。抽象类可以继承抽象类,继承与被继承的关系是,多对一。抽象类可以继承普通类(重要,但没人会这样用),普通类可以继承抽象类,继承与被继承的关系是多对一。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ALSICK
2012-07-12 · 超过13用户采纳过TA的回答
知道答主
回答量:94
采纳率:0%
帮助的人:12.4万
展开全部
接口和类是很相似但又有区别的一种数据结构,其设计和调用也是JAVA程序设计的一种重要技术。
从结构上看,接口有如下特点: ü接口用interface来定义,而不是class ü接口中定义的变量区全部是最终的静态变量ü接口中没有自身的构造方法,而定义的其他方法全是抽象方法,即提供了方法的定义,但是没有提供方法的实现。ü接口采用多重继承机制,而不是采用单一的继承机制。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jinhuang_seo
2012-07-06
知道答主
回答量:8
采纳率:0%
帮助的人:1.3万
展开全部
简单来说,
接口是公开的,里面不能有私有的方法或变量,是用于让别人使用的,而抽象类是可以有私有方法或私有变量的,

另外,实现接口的一定要实现接口里定义的所有方法,而实现抽象类可以有选择地重写需要用到的方法,一般的应用里,最顶级的是接口,然后是抽象类实现接口,最后才到具体类实现。

还有,接口可以实现多重继承,而一个类只能继承一个超类,但可以通过继承多个接口实现多重继承,接口还有标识(里面没有任何方法,如Remote接口)和数据共享(里面的变量全是常量)的作用.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cqq1991748638
2012-07-13
知道答主
回答量:1
采纳率:0%
帮助的人:1611
展开全部
接口可以多继承 只有抽象方法
抽象类单继承 可以有抽象方法和普通方法
都有抽象想方法
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lxd391
2012-07-06 · TA获得超过326个赞
知道小有建树答主
回答量:303
采纳率:0%
帮助的人:146万
展开全部
接口中的方法都是抽象的,也就是都是没有方法体的,这些方法是被实现该接口的类去具体实现;
抽象类中可以有方法体的方法。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式