日期:2014-05-20  浏览次数:20659 次

实现接口与继承抽象类有什么区别??
JAVA里不能多继承,是不是只是因为这样在调用父类的方法时会产生二义性??如果不只是这样,还有什么原因吗
C++里面不是有虚基类解决这个问题吗,JAVA为什么不这样


实现接口和继承抽象类差不多啊,那么实现接口为什么就可以呢
多了一个接口的概念,还有些什么好处??



------解决方案--------------------
不懂
帮顶
------解决方案--------------------
C++ 具有多重继承,并带来了一些复杂的特性,很少有人使用多重继承。在java中从一个基类派生并附加接口可以具备C++里的多重继承的功能,但又没那么的复杂。
------解决方案--------------------

------解决方案--------------------
java 的继承与c++的不同
------解决方案--------------------
http://dev.yesky.com/436/7581936.shtml
接口,抽象类的区别
------解决方案--------------------
实现接口和继承抽象类差不多啊,那么实现接口为什么就可以呢 ?


抽象类里不一定都是抽象方法,但是接口里的方法却都是抽象的,所以实现他的类必须重写方法!
------解决方案--------------------
一夫多妻 和 一夫一妻~~~
------解决方案--------------------
你可以看看spring方面的书,这个或许对你有帮助.还有继承抽象和实现接口的区别网上的例子很多,你可以看看,好象是5个区别吧.
------解决方案--------------------
探讨
接口继承和实现继承的规则不同,一个类只有一个直接父类,但可以实现多个接口。

------解决方案--------------------
当两个不同的对象他们具有较强的商业逻辑的时候,我们就用到抽象类(里面可以有具体的方法),而当对象之间商业逻辑较弱的时候我们就用接口。
------解决方案--------------------
肯定有不同拉,你要是用继承的话,就不要再继承其它类了,因为java是单继承的.而实现接口后还可以继续继承其它类,所以如果你还要继承其它类的话就只能实现接口的方法了
------解决方案--------------------
探讨
而且刚才我试了一下,二义性还是有的,在接口中I定义一个常量CONST=10,在另外一个类A中定义public static final的常量CONST=20,如果B继承了A实现了I,那么使用B中的CONST就会产生错误
如果是方法的话,A中有和I同名的方法,如果B继承A实现I的话,它要实现I中的这个方法,虽然编译通过了,但是在B中访问这个方法时,调用的是实现接口I的那个方法,是不是A中的方法就相当于被重写了??

另外想问下@Override这个是不是只在eclipse中才可以…

------解决方案--------------------
学习
------解决方案--------------------
学习
------解决方案--------------------
长见识!
------解决方案--------------------
我的理解:

c++中的多继承会引来很多麻烦。所以Java中就去掉了

但要需要这么一个功能,所以就产生了接口



实现接口与继承抽象类有什么区别??

实现接口不能说明他们之间有什么关系,(就是不能说明他们之间有“同类”关系)因为他可以同时实现多个接口,

但继承抽象类的话说明有“包含”关系,或是“同类”关系。因为他只能继承一个。
------解决方案--------------------
这种问题不要停留在"编码"层面去思考

提高到"OO"的方面

接口是方法,"我能",的集合

虚类 是有共性的类的共性抽象

把握好这些,你就能很好的知道什么地方用接口什么地方用虚类了
------解决方案--------------------
长见识了
------解决方案--------------------
JAVA类全部继承于OBJECT,好像就是要解决继承混乱的问题。
至于抽象类和接口,个人觉得抽象类就像画画,先画个框架,再临摹框架画再添东西,接口好像链条上的配件,配件的规格给你了,你做个什么挂上去都可以。