黑马程序员技术交流社区

标题: 大神们,求解释啊~ [打印本页]

作者: 去到你心里    时间: 2013-8-11 12:27
标题: 大神们,求解释啊~
java中为什么要使用接口,继承接口不是还要重写方法吗?为什么不直接写那些方法呢?
作者: 熊纪达    时间: 2013-8-11 12:45
java中的接口啊类啊什么的都和生活中对应的。接口也是一样,比如电脑上面就有许多的卡槽,用来插网卡,声卡等的。一个电脑生产商生产一个电脑,不是把声卡。网卡等焊接在卡槽上的,而是留下了卡槽,让声卡。网卡等生产厂家来生产的。如果焊接上去,等网卡,声卡升级的时候,就只能换一个主板了。
作者: 田磊阳    时间: 2013-8-11 14:08
熊纪达 发表于 2013-8-11 12:45
java中的接口啊类啊什么的都和生活中对应的。接口也是一样,比如电脑上面就有许多的卡槽,用来插网卡,声卡 ...

解释的很好:handshake
作者: masterV    时间: 2013-8-12 00:23
Java语言是单继承的,但是可以允许多实现,即一个类只能有一个父类,但是可以实现多个接口。
接口又分为Java类接口和类集接口(collections)。
在Java类接口中,所有的方法都是抽象的,而在类集接口中,大部分方法都不是抽象的。
先说Java类接口,Java类接口中定义抽象方法的目的就是为了让实现该接口的类都必须重写其中的方法,可以理解为这些方法是这个接口的必要特征,比方说,有两个接口,一个是Person,一个是Animal,这两个接口中都可以有run(),eat()等方法,而人是可以说话的,所以在Person类中就会有一个speak()方法,如果没有这个方法,Person和Animal就没有什么区别了。所以这里的speak()方法就必须要你在继承Person类的时候重写,以证明这个子类也代表的是一个人。
至于集合接口,集合接口是用来扩展程序功能的,所以里面的方法基本都不是抽象方法,实现了该集合接口就能用其中的方法。
与君共同进步,加油。
作者: yangxin540    时间: 2013-8-12 01:36
接口弥补了java单继承的缺点,它的主要作用是达到访问的统一,也就是定义一些必须的方法以达到统一性。
作者: 吴光新    时间: 2013-8-12 02:09
因为接口可以实现继承不能做到的“多继承”,接口解决了不能多继承的缺点。
作者: 清心玉质    时间: 2013-8-12 10:29
java中为什么要使用接口,继承接口不是还要重写方法吗?//接口建立的是一种基本形式,包含所有子类的共同部分。比如猫、狗、猪都有吃的特征, 睡得特征,我们可以把这些共性的特征定义到一个接口里面。
为什么不直接写那些方法呢?//定义了接口可以直接用这些方法。如果不定义接口,那么每定义一个动物的时候都要完整写出吃方法和睡方法,工作量大大重复。接口可以多实现,弥补了单继承的不足。





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