黑马程序员技术交流社区

标题: 接口 [打印本页]

作者: 子康JAVA    时间: 2013-6-5 23:18
标题: 接口
看了毕老师的视频,感觉接口和继承差不多,那接口的好处和意义到底有哪些?

作者: yp324    时间: 2013-6-5 23:33
1.        首先我们了解一下接口的特性:
接口不是类,而是对类的一组需求描述,这些类要遵从接口描述的统一格式进行定义,不能使用new运算符实例化一个接口:
x=new Comparable(...);//这是错误的
但是可以声明接口的常量:
Comparable x;//正确的
接口变量必须引用实现了接口的类对象:
x=new Employee(...);//正确的,提供一个Employee类实现了Comparable接口
另外与可以建立类的继承关系一样,接口可以被扩展;
2.尽管Java中的类只能够拥有一个超类,但却可以实现多个接口,这就为定义类的行为提供了极大的灵活性。举例来说,Java程序设计语言有一个非常重要的内置接口,成为Cloneable,如果某个类实现了这个Cloneable接口,Object类中的clone方法就可以创建类对象的一个拷贝,如果希望自己设计的类拥有克隆和比较的能力,只需实现这两个接口就可以了:
class Employee implements Cloneable,Comparable
使用逗号将实现的各个类的接口分隔开。
3.总之,接口最大的意义就是解决Java语言中类单继承的缺陷,一个类可以实现多个接口,而接口中只定义类所具有的方法的特征集,类实现接口即可而不必关注与接口是如何具体实现的。

作者: 穆爱明    时间: 2013-6-6 08:09
1.接口不能实例化。但接口之间可以通过extends实现继承关系,一个接口可以继承多个接口,但接口不能继承类。
2.java中类只支持单继承,但接口可以被多实现,一个类可以通过多实现接口来实现功能的扩展,也是对多继承不支持的转换形式。
3.接口的的意义在于:接口体现了约定和实现相分离的原则,通过面向接口编程,可以降低代码的耦合性,提高代码的可扩展性和可维护性。面向接口编程就意味着:开发系统时,主体架构使用接口,接口构成系统的骨架,这样就可以通过更换实现接口的类来实现更换系统。

作者: 紫衣侯    时间: 2013-6-6 08:51
个人说下继承和接口的一些区别吧:
1.可以实多个接口,而只能继承一个超类。
2.实现接口必须重写接口中的方法,因为接口中方法没方法体。而继承则不用。
作者: 袁梦希    时间: 2013-6-12 18:44
祝大家端午节快乐
作者: 袁梦希    时间: 2013-6-12 18:45
楼主你好  如果问题已经解决  请把帖子的类型改为已解决  然后会给你发几个粽子吃




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