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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

类与类,类与接口,接口与接口的关系?(主要想知道接口与接口的关系);

评分

参与人数 1技术分 +1 收起 理由
何伟超 + 1

查看全部评分

7 个回复

倒序浏览
类与类是继承关系,只支持单继承。类与接口是实现关系,一个类在继承的同时可以多实现。接口与接口是继承关系,可多继承。

评分

参与人数 1技术分 +1 收起 理由
何伟超 + 1

查看全部评分

回复 使用道具 举报
类与类 ,是继承关系 但是只能单继承 。类与接口 ,类可以实现多个接口 必须实现所有方法 。接口与接口 ,接口最多可以继承接口,不能实现接口,只有抽象类或者具体类可以实现接口

评分

参与人数 1技术分 +1 收起 理由
何伟超 + 1

查看全部评分

回复 使用道具 举报
午夜b'Boy 来自手机 中级黑马 2014-2-28 22:35:11
板凳
接口是特殊类,内部只定义公共常量和抽象方法,一个类只可以继承一个父类,同时实现多个接口

评分

参与人数 1技术分 +1 收起 理由
何伟超 + 1

查看全部评分

回复 使用道具 举报
接口之间只有继承关系,可以多继承。
回复 使用道具 举报
举个例子接口好比主板上的插槽,类是要能插到插槽里的内存条或者cup或者网卡。。。它们之间那种联系
API中的A是Application 也就是别的应用程序的接口,是别人做好的插座,你只要把你的设备插进去就可以获得别人提供的功能或者。。。
接口是对类的抽象,类是对对象的抽象 ,但实际上,接口和类都是对象的抽象。

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
    java语言使用关键字interface定义一个接口。接口也是抽象对象,它甚至比抽象类更抽象。接口中的方法都是抽象方法。 一个接口可以继承其他接口;一个类通过关键字implements声明要实现一个接口,并具体实现接口的方法。 如果是抽象类实现一个接口,那么抽象类中可以不具体实现接口的方法(保持其抽象性),而由其子类去实现,接口和抽象类显著的共同点是接口和抽象类都可以有抽象方法。
    接口和抽象类的不同点有:
    1、抽象类可以有实例变量,而接口不能拥有实例变量,接口中的变量都是静态(static)的常量(final)。
    2、抽象类可以有非抽象方法,而接口只能有抽象方法。
    java允许一个接口继承多个父接口,也允许一个类实现多个接口,而这样的多继承有上面提到的缺点马? 答案是没有,这是由接口的抽象性决定的,在接口中不能有实例变量,只能有静态的常量,不能有具体的方法(包含方法体),只能有抽象方法,因此也就摒弃了多继承的缺点。
    对于一个类实现多个接口的情况,因为接口只有抽象方法,具体方法只能由实现接口的类实现,在调用的时候始终只会调用实现类的方法(不存在歧义),因此不存在多继承的第二个缺点;而又因为接口只有静态的常量,但是由于静态变量是在编译期决定调用关系的,即使存在一定的冲突也会在编译时提示出错;而引用静态变量一般直接使用类名或接口名,从而避免产生歧义,因此也不存在多继承的第一个缺点。
对于一个接口继承多个父接口的情况也一样不存在这些缺点。




评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
接口:初期理解,可以认为是一个特殊的抽象类,当抽象类中的方法都是抽象的,那么该类可以通过接口的形式来表示。
接口是不可以创建对象的,因为有抽象方法。需要被子类实现,子类对接口中的抽象方法全都覆盖后,子类才可以实例化。否则子类是一个抽象类。
接口可以被类多实现,也是对多继承不支持的转换形式。java支持多实现。

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马