java 接口和继承的区别

fubaifeng 2012-09-14 02:30:29
那位大哥帮忙深度 讲解一下接口和 继承的区别,以及都是在何种情况中使用
...全文
7667 40 打赏 收藏 转发到动态 举报
写回复
用AI写文章
40 条回复
切换为时间正序
请发表友善的回复…
发表回复
piaolingdehua 2014-12-09
  • 打赏
  • 举报
回复
22楼说的挺好~~
骚还是公骚骚 2012-12-10
  • 打赏
  • 举报
回复
引用 4 楼 wu_07 的回复:
亲爹和干爹的关系 你可以有多个干爹(接口),但只能有一个亲爹( 继承)
来到我身边 2012-12-10
  • 打赏
  • 举报
回复
引用 21 楼 chaugust02 的回复:
引用 5 楼 simaweier 的回复: 形象 引用 4 楼 的回复:亲爹和干爹的关系 你可以有多个干爹(接口),但只能有一个亲爹( 继承)这是我听到的最二的解释。
不是吧,我觉着很形象啊,难道我对二者的理解还很不够?!
asdf544265772 2012-12-04
  • 打赏
  • 举报
回复
引用 4 楼 wu_07 的回复:
亲爹和干爹的关系 你可以有多个干爹(接口),但只能有一个亲爹( 继承)
又见这条回复。。。。不过说得对。。。
海逸_2018 2012-12-04
  • 打赏
  • 举报
回复
这个理论的东西还是自己多看看书,多实践下吧
UUGN 2012-12-04
  • 打赏
  • 举报
回复
8楼讲的很清楚 最好的方法 是自己写几个测试测试 记得也牢
freeskl 2012-12-04
  • 打赏
  • 举报
回复
看样子,得从基础知识看起了
叫不醒的梦 2012-12-04
  • 打赏
  • 举报
回复
继承的话,类与类之间只能继承而且是单继承;同过继承时在子类可以得到父类可以继承的属性和方法,因此当一个类想得到另一个类的属性和方法时我们可以把该类去继承那个类,从而获得我们需要的属性和方法;而接口我们只能通过类来实现接口还可以实现多个接口,如果某个接口有想要的方法,而我们写的这个类又想拥有该方法而非像继承一样把自己不想要的属性或方法都一一继承过来时,我们就可以考虑使用实现接口的方式。就如动词“喝水”,我们要写一个人类或者一条狗类,由于这里两种动物都需要有喝水的功能,这时我们就可以使用实现接口的方式,从而获得“喝水”的功能。而不是说,比如我们写了一条狗,这条狗有“喝水”的功能,现在我们又想写一个人类,人这个类也想得到“喝水”的功能,如果我们此时用人继承狗那就不对了,如果这样继承了人就有狗的某些人类不具备的功能了,这显然是不对的。这下应该差不多明白了吧。
Swear_fling 2012-12-03
  • 打赏
  • 举报
回复
知道怎么用就行,招聘一般问这个。
AlexChowKey 2012-12-03
  • 打赏
  • 举报
回复
由于java中一个类不能继承多个父类,而这个类又需要多种属性,这个时候就可以用接口了,比如说 我写一个类: public class Test extends JFrame{ } 但是你又想用这个类中实现多线程技术,这个时候就不能让它再继承Thread类了,但是你可以这样: public class Test extends JFrame implements Runnable{ } 这样你就既拥有JFrame的属性和方法了,而且也可以用这个类使用多线程技术。 (只能继承一个类,可以实现多个接口,也就是说,除了Runnable你还可以实现其它的接口)
Devol 2012-12-03
  • 打赏
  • 举报
回复
呵呵,我是初学者,刚刚看完这些,有点理解,不知道准确不,LZ可以参考下 一个类只能继承一个类,但是可以实现多个接口,所谓接口其实就是内部方法都没有实现的一个类,用于程序功能的拓展,其接口上的方法均是在外部,即需要实现接口中方法的类里实现。而继承则是将父类中的成员变量和成员方法传承到其子类中,并且可以在子类中对其进行使用、重写及重载。 以我个人观点来看,在作用上接口主要是实现功能的拓展,继承则是主要实现功能的修改或者类似于补丁性质的功能
sd4324530 2012-11-22
  • 打赏
  • 举报
回复
引用 8 楼 licip 的回复:
在实际开发中,这两个都会大量的用到,接口主要是实现一种松耦合,便于以后的维护、升级,继承主要是提高代码的可重用性,很多东西都可以在父类中做好。子类可以直接用,用一句现在流行的话来说,继承的好处就跟拼爹是一样的。
+1
悲催的程序猿 2012-11-21
  • 打赏
  • 举报
回复
引用 4 楼 wu_07 的回复:
亲爹和干爹的关系 你可以有多个干爹(接口),但只能有一个亲爹( 继承)
这个举例不错,还真有这么个意思。。
岑逸 2012-11-21
  • 打赏
  • 举报
回复
引用 22 楼 supperman_009 的回复:
你的问题提的一看就是没入门。 面向对象程序设计中,继承和接口根本就不是可比较的。 继承是一种行为,说明子类拥有父类的方法,并且可以覆盖父类的同名同参数方法。 而接口是一种操作定义,它定义实现它的类所必须要有的方法。 有了接口之后,设计程序时,才能够面向接口编程,使得程序适应性大幅度提高。做个比方,你知道开会,一定是先致幕词,然后讨论,然后结束总结。每个会议都有……
x1n 2012-11-20
  • 打赏
  • 举报
回复
引用 5 楼 simaweier 的回复:
形象 引用 4 楼 的回复:亲爹和干爹的关系 你可以有多个干爹(接口),但只能有一个亲爹( 继承)
这是我听到的最二的解释。
xue08161981 2012-11-20
  • 打赏
  • 举报
回复
一个类只能继承一个类,但是可以实现多个接口。 依赖倒转原则 依赖抽象(例如接口),不要依赖于实现 合成/聚合复用原则(CARP) 尽量使用合成/聚合,而不是继承关系达到复用的目的 ,不懂啊
zk3389 2012-11-20
  • 打赏
  • 举报
回复
多写,多看,自然理解了
蓝风遥遥 2012-11-20
  • 打赏
  • 举报
回复
在java里面之能单继承, 比如extends 类//这个类只能写一个 而接口就是凌另种实现C++里面的多继承, 比如implements 接口1,接口2,接口3……这个可以实现多个继承, 而且在写完继承接口后必须重新定义下里面的方法,也就是说,在接口里面定义了所有的方法,必须在子类中重新定义一遍,而在单继承里面就不需要了
GodDeath00 2012-11-20
  • 打赏
  • 举报
回复
java中只支持单根继承,接口使得java中拥有类似多继承的实现方法
_云_ 2012-11-20
  • 打赏
  • 举报
回复
一个类可以实现多个接口!而一个类只能继承一个父类。
加载更多回复(20)

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧