黑马程序员技术交流社区

标题: 关于java 实现和继承的区别 [打印本页]

作者: 侯凯斌    时间: 2012-11-20 10:53
标题: 关于java 实现和继承的区别
那位大哥帮忙 讲解一下接口的实现和  继承的区别,以及都是在何种情况中使用,感觉有时候用两种都可以,但不知道优先用哪一种更好一点,希望给我高手帮忙指点指点
作者: 小洋人最happy    时间: 2012-11-20 11:25
表面的区别就是单继承多实现

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

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

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

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

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

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

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

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





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2