黑马程序员技术交流社区
标题:
类与类,类与接口,接口与接口的关系?
[打印本页]
作者:
何清林
时间:
2014-2-28 16:13
标题:
类与类,类与接口,接口与接口的关系?
类与类,类与接口,接口与接口的关系?(主要想知道接口与接口的关系);
作者:
牛头人图腾
时间:
2014-2-28 17:06
类与类是继承关系,只支持单继承。类与接口是实现关系,一个类在继承的同时可以多实现。接口与接口是继承关系,可多继承。
作者:
asvsass
时间:
2014-2-28 17:20
类与类 ,是继承关系 但是只能单继承 。类与接口 ,类可以实现多个接口 必须实现所有方法 。接口与接口 ,接口最多可以继承接口,不能实现接口,只有抽象类或者具体类可以实现接口
作者:
午夜b'Boy
时间:
2014-2-28 22:35
接口是特殊类,内部只定义公共常量和抽象方法,一个类只可以继承一个父类,同时实现多个接口
作者:
北冥有鱼
时间:
2014-3-1 01:26
接口之间只有继承关系,可以多继承。
作者:
Aenon
时间:
2014-3-1 07:52
举个例子接口好比主板上的插槽,类是要能插到插槽里的内存条或者cup或者网卡。。。它们之间那种联系
API中的A是Application 也就是别的应用程序的接口,是别人做好的插座,你只要把你的设备插进去就可以获得别人提供的功能或者。。。
接口是对类的抽象,类是对对象的抽象 ,但实际上,接口和类都是对象的抽象。
作者:
syw02014
时间:
2014-3-1 08:46
java语言使用关键字interface定义一个接口。接口也是抽象对象,它甚至比抽象类更抽象。接口中的方法都是抽象方法。 一个接口可以继承其他接口;一个类通过关键字implements声明要实现一个接口,并具体实现接口的方法。 如果是抽象类实现一个接口,那么抽象类中可以不具体实现接口的方法(保持其抽象性),而由其子类去实现,接口和抽象类显著的共同点是接口和抽象类都可以有抽象方法。
接口和抽象类的不同点有:
1、抽象类可以有实例变量,而接口不能拥有实例变量,接口中的变量都是静态(static)的常量(final)。
2、抽象类可以有非抽象方法,而接口只能有抽象方法。
java允许一个接口继承多个父接口,也允许一个类实现多个接口,而这样的多继承有上面提到的缺点马? 答案是没有,这是由接口的抽象性决定的,在接口中不能有实例变量,只能有静态的常量,不能有具体的方法(包含方法体),只能有抽象方法,因此也就摒弃了多继承的缺点。
对于一个类实现多个接口的情况,因为接口只有抽象方法,具体方法只能由实现接口的类实现,在调用的时候始终只会调用实现类的方法(不存在歧义),因此不存在多继承的第二个缺点;而又因为接口只有静态的常量,但是由于静态变量是在编译期决定调用关系的,即使存在一定的冲突也会在编译时提示出错;而引用静态变量一般直接使用类名或接口名,从而避免产生歧义,因此也不存在多继承的第一个缺点。
对于一个接口继承多个父接口的情况也一样不存在这些缺点。
作者:
黄飞1991
时间:
2014-3-1 11:05
接口:初期理解,可以认为是一个特殊的抽象类,当抽象类中的方法都是抽象的,那么该类可以通过接口的形式来表示。
接口是不可以创建对象的,因为有抽象方法。需要被子类实现,子类对接口中的抽象方法全都覆盖后,子类才可以实例化。否则子类是一个抽象类。
接口可以被类多实现,也是对多继承不支持的转换形式。java支持多实现。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2