抽象类和接口的区别是什么呀----------------简单精典点

时间:2023-02-04 18:29:37
RT,我看资料说的老多了,能简单精练点吗??



--------------------------------------------------------------------
以下内容为自动编辑的内容,并非楼主的发贴内容,此仅用于显示而已,并无任何其他特殊作用
楼主【chenhongxin】截止到2008-08-04 14:23:21的历史汇总数据(不包括此帖):
发帖的总数量:77                       发帖的总分数:2484                     每贴平均分数:32                       
回帖的总数量:1481                     得分贴总数量:560                      回帖的得分率:37%                      
结贴的总数量:75                       结贴的总分数:2390                     
无满意结贴数:0                        无满意结贴分:0                        
未结的帖子数:2                        未结的总分数:94                       
结贴的百分比:97.40 %               结分的百分比:96.22 %                  
无满意结贴率:0.00  %               无满意结分率:0.00  %                  
抽象类和接口的区别是什么呀----------------简单精典点值得尊敬

取消马甲机器人,请点这里: http://www.java2000.net/mycsdn/robotStop.jsp?usern=chenhongxin

22 个解决方案

#1


abstract类是重构过程中产生的。
interface是设计过程中产生的。

你写了100个类,突然发现中间有好多重复代码,于是你对这些类进行重构,提取出相同的功能写成abstract class供子类继承。

你打算做一个系统,为了让其他人可以容易调用,所以你预先设计了几个调用接口,让其他人可以很容易的调用你系统的功能。

#2


000000000000000000

#3


接口比抽象类更加抽象。

抽象类中可以有实现了的方法,接口中没有,接口中method默认的都是public abstract

#4


简单的说抽象类是类中含有抽象方法的的类,但抽象类里不一定全是抽象方法,接口是一种类中全部是抽像方法的类!

#5


接口可以继承接口。抽象类可以实现(implements)接口,抽象类是否可继承实体类,但前提是实体类必须有明确的构造函数

抽象类与接口都用于抽象,但是抽象类(JAVA中)可以有自己的部分实现,而接口则完全是一个标识 (同时有多重继承的功能)。

通常java的类结果就向一颗到过来的大树。  最上面是一个 接口, 然后 有几个 抽象类 实现他,在下来就是  具体的 实现类集成抽象类。 

#6


http://topic.csdn.net/u/20080721/21/c7b4230a-55c0-41ff-9d0b-e0403ec401a5.html
这是前不久偶发的。。希望对你有帮助。

#7


抽象类是类
子类只能单继承
接口
子类可以实现多个
模拟多继承

#8


接口(Interface)是用来定义行为规范的,不会有具体实现,而抽象类除定义行为规范外,可以有部分实现,但一个类能实现多个接口,但只能继承一个父类 

#9


不懂,就用interface,就行了.不用管abstract

#10


引用 5 楼 wangfei8573 的回复:
简单的说抽象类是类中含有抽象方法的的类,但抽象类里不一定全是抽象方法,接口是一种类中全部是抽像方法的类!


我也是这么理解的...     接口比抽象类更抽象...

#11


抽象类(abstract class)可以包含功能定义和实现,接口(interface)只能包含功能定义。
抽象类是从一系列相关对象中抽象出来的概念,因此反映的是事物的内部共性。接口是为了满足外部调用而定义的一个功能约定,因此反映的是事物的外部特性。
分析对象提炼内部共性形成抽象类,用以表示对象本质,即“是什么”,为外部提供调用或功能需要扩充时优先使用接口。

#12


感觉抽象类本质上还是类,一个类可以implements多个接口,但是只能继承一个抽象类的。

#13


接口(Interface)是用来定义行为规范的,不会有具体实现,而抽象类除定义行为规范外,可以有部分实现,但一个类能实现多个接口,但只能继承一个父类

#14


接口是对操作的封装
抽象类是对类的抽象

#15


抽象类是 is-a
接口是 like-a

#16


该说的大家都说完了,呵呵

#17


1. 一个类可以实现多个接口
2. 一个类只能继承一个抽像类
3. 接口中只能定义不能实现
4. 抽像类中可以有实现的代码

#18


最重要的是一个类可以实现多个接口,只能继承一个抽象类。

#19


楼主可以练习一下抽象工厂的方法,这里面可以加深对接口的理解

#20


我觉得接口就是最彻底的抽象类!

#21


引用 7 楼 zhangkai08111 的回复:
http://topic.csdn.net/u/20080721/21/c7b4230a-55c0-41ff-9d0b-e0403ec401a5.html 
这是前不久偶发的。。希望对你有帮助。


这个很好!我也转来看了

#1


abstract类是重构过程中产生的。
interface是设计过程中产生的。

你写了100个类,突然发现中间有好多重复代码,于是你对这些类进行重构,提取出相同的功能写成abstract class供子类继承。

你打算做一个系统,为了让其他人可以容易调用,所以你预先设计了几个调用接口,让其他人可以很容易的调用你系统的功能。

#2


000000000000000000

#3


接口比抽象类更加抽象。

抽象类中可以有实现了的方法,接口中没有,接口中method默认的都是public abstract

#4


简单的说抽象类是类中含有抽象方法的的类,但抽象类里不一定全是抽象方法,接口是一种类中全部是抽像方法的类!

#5


接口可以继承接口。抽象类可以实现(implements)接口,抽象类是否可继承实体类,但前提是实体类必须有明确的构造函数

抽象类与接口都用于抽象,但是抽象类(JAVA中)可以有自己的部分实现,而接口则完全是一个标识 (同时有多重继承的功能)。

通常java的类结果就向一颗到过来的大树。  最上面是一个 接口, 然后 有几个 抽象类 实现他,在下来就是  具体的 实现类集成抽象类。 

#6


http://topic.csdn.net/u/20080721/21/c7b4230a-55c0-41ff-9d0b-e0403ec401a5.html
这是前不久偶发的。。希望对你有帮助。

#7


抽象类是类
子类只能单继承
接口
子类可以实现多个
模拟多继承

#8


接口(Interface)是用来定义行为规范的,不会有具体实现,而抽象类除定义行为规范外,可以有部分实现,但一个类能实现多个接口,但只能继承一个父类 

#9


不懂,就用interface,就行了.不用管abstract

#10


引用 5 楼 wangfei8573 的回复:
简单的说抽象类是类中含有抽象方法的的类,但抽象类里不一定全是抽象方法,接口是一种类中全部是抽像方法的类!


我也是这么理解的...     接口比抽象类更抽象...

#11


抽象类(abstract class)可以包含功能定义和实现,接口(interface)只能包含功能定义。
抽象类是从一系列相关对象中抽象出来的概念,因此反映的是事物的内部共性。接口是为了满足外部调用而定义的一个功能约定,因此反映的是事物的外部特性。
分析对象提炼内部共性形成抽象类,用以表示对象本质,即“是什么”,为外部提供调用或功能需要扩充时优先使用接口。

#12


感觉抽象类本质上还是类,一个类可以implements多个接口,但是只能继承一个抽象类的。

#13


接口(Interface)是用来定义行为规范的,不会有具体实现,而抽象类除定义行为规范外,可以有部分实现,但一个类能实现多个接口,但只能继承一个父类

#14


接口是对操作的封装
抽象类是对类的抽象

#15


抽象类是 is-a
接口是 like-a

#16


该说的大家都说完了,呵呵

#17


1. 一个类可以实现多个接口
2. 一个类只能继承一个抽像类
3. 接口中只能定义不能实现
4. 抽像类中可以有实现的代码

#18


最重要的是一个类可以实现多个接口,只能继承一个抽象类。

#19


楼主可以练习一下抽象工厂的方法,这里面可以加深对接口的理解

#20


我觉得接口就是最彻底的抽象类!

#21


引用 7 楼 zhangkai08111 的回复:
http://topic.csdn.net/u/20080721/21/c7b4230a-55c0-41ff-9d0b-e0403ec401a5.html 
这是前不久偶发的。。希望对你有帮助。


这个很好!我也转来看了