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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 秦超 中级黑马   /  2012-3-13 23:37  /  4569 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

接口可以实现功能扩展,子类在继承父类的同时想要扩展功能,可以用接口实现,这么看来,接口不就相当于一个抽象了所有函数的类了吗?只不过这个类里面所有的函数都必须使用而已

10 个回复

倒序浏览
我觉得子类就是为了重写或者扩展父类的功能而出现的新类
而接口是那些已经继承了父类特性的子类们,又找到了共同的方法,或者共性,所以需要实现同一接口。
这样虽然这些子类并不是一个体系,但是他们通过实现相同接口找到了共性
创建接口的子类对象,通过多态,降低耦合性,达到更大的功能扩展

评分

参与人数 1技术分 +1 收起 理由
房宝彬 + 1 加油,接口最主要的特点你没说出来哦.

查看全部评分

回复 使用道具 举报
接口算是抽象类的变体吧,抽象类里面可以有非抽象的方法,但是接口里面只能有抽象方法,子类实现父类的时候必须覆写父类所有的方法。定义成接口也是方便日后的功能扩展
回复 使用道具 举报
接口:格式:interface{}

接口中的成员修饰符是固定的。

成员变量:public static final

成员函数:public abstract

接口的出现将“多继承”通过另一种形式体现出来,即“多实现”

接口:初期理解,可以认为是一个特殊的抽象类

当抽象类中的方法都是抽象的,那么该类可以用接口的形式来表示

接口的特性:接口可以被类多实现。也是对多继承不支持的转换形式,java支持多实现。即使有同名函数也因为没有方法主体,所以只用覆盖一次即可。

接口也接口之间也有关系。接口之间可以多继承。但是同名方法的返回值必须一样。java支持多继承,只有在接口与接口之间可以实现多继承。类之间只有单继承。

评分

参与人数 1技术分 +1 收起 理由
房宝彬 + 1

查看全部评分

回复 使用道具 举报
抽象类,是类,接口是接口,接口是为了弥补类的不足而诞生的:面向对象,提高代码的复用性,可惜之类只能继承一个类为父类,这样就出现了代码复用的局限性,如果在继承一个类的同时,还可以“继承”多个类,那该多好呀?刚好,接口可以满足这个需求:在继承一个类之后,还可以实现多个接口;

可以说是抽象类的量变结果,也可以说是需求推动发展,总之,各有各的优势,取长补短嘛!
回复 使用道具 举报
接口 就是 写框架的时候 埋颗雷  放条线

实现接口的时候  就是 找到那个线  (复写方法) 点火 ~~~~生效
回复 使用道具 举报
接口和抽象类的相同点:它们都是不断向上抽取出来的一个抽象的内容,必须由子类去完成它们的方法体。
它们的区别有:
1:
抽象类只能被单继承,
接口可以被多实现,避免了单继承的局限性。
2:
抽象类中可以定义抽象方法和非抽象方法,它可以用于定义体系的基本共性内容。
接口中只能定义抽象方法,它主要用于对象的功能扩展。
3:
抽象类是继承关系,是is a关系。
接口是是实现关系,是like a关系。
4:
抽象类的中的成员修饰符都是自定义。
接口中的成员修饰符固定。
回复 使用道具 举报
可以,子类实现了接口, 就要实现接口中所有的方法, 抽象类除外,  但子类可以有自己特有的, 就等于对父类进行了扩展;
一个类可以实现多个接口,更好的支持多态;
回复 使用道具 举报
王杰 黑马帝 2012-3-14 08:50:46
9#
李晓旭 发表于 2012-3-13 23:46
我觉得子类就是为了重写或者扩展父类的功能而出现的新类
而接口是那些已经继承了父类特性的子类们,又找到 ...

接口弥补了类只支持单继承,接口可以多实现!
回复 使用道具 举报
原来如此~搞定
回复 使用道具 举报
接口中是不能创建对象的,因为有抽象方法需要被类实现,子类对接口中的抽象方法全都覆盖后子类才可以实例化,否则子类为抽象类。
类与接口之间是实现关系,而且类可以继承一个类的同时实现多个接口。
接口与接口之间是可以有继承关系的。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马