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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 侯凯斌 中级黑马   /  2012-11-20 10:53  /  1083 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

那位大哥帮忙 讲解一下接口的实现和  继承的区别,以及都是在何种情况中使用,感觉有时候用两种都可以,但不知道优先用哪一种更好一点,希望给我高手帮忙指点指点

评分

参与人数 1技术分 +1 收起 理由
古银平 + 1 多看视频

查看全部评分

3 个回复

倒序浏览
表面的区别就是单继承多实现

继承:如果多个类的某个部分的功能相同,那么可以抽象出一个类出来,把他们的相同部分都放到父类里,让他们都继承这个类。

实现:如果多个类处理的目标是一样的,但是处理的方法方式不同,那么就定义一个接口,也就是一个标准,让他们的实现这个接口,各自实现自己具体的处理方法来处理那个目标

实际运用中会更复杂,这个得靠自己摸索,不能靠别人的只言片语,书上的几句定义就可以理解这个的,还有就是这些是不能滥用的,别什么都搞个继承,乱实现接口,只会使程序复杂化而已
回复 使用道具 举报
明白他们的区别就行了;
抽象类可以定义非抽象方法。而接口只有抽象方法。

最主要是java类只支持单继承和多实现。

         你如果继承了抽象类就不能再继承其他类。但是可以实现多个接口。

具体应用还是根据需求而定。
回复 使用道具 举报
1,java类可以一次继承多个接口,用implements 接口1,接口2
2,如果是接口继承接口的话也可以用extends,接口是多继承的,java类才是单继承
3,接口继承接口可以不实现父接口中的方法,可以声明自己的新方法,
4,类实现接口时,一定要实现接口中声明的方法,如果接口中没有定义抽象方法则不需要,但是要注意,类实现了一个接口A,如果B是A的父接口,且B中有抽象方法,则该类必须实现A和B中的所有抽象方法
5,抽象方法只能定义在抽象类中,抽象类实现接口,可以不实现接口中的抽象方法
总结:其实你提的问题可以说不是问题,没有可比性啊!继承接口是说的接口来继承接口,是接口与接口间的

当使用继承的时候,主要是为了不必重新开发,并且在不必了解实现细节的情况下拥有了父类我所需要的特征。

  但是很多时候,一个子类并不需要父类的所有特征,它可能只是需要其中的某些特征,但是由于通过继承,父类所有的特征都有了,需要的和不需要的特征同时具备了。而那些子类实际上不需要用到的,有时候甚至是极力避免使用的特征也可以随便使用,这就是继承的副作用。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马