当前位置: 技术问答>java相关
对"接口"的疑惑
来源: 互联网 发布时间:2015-08-05
本文导语: 在JAVA中使用了接口,摒弃了多重继承机制,在我所看的JAVA教材上,说这是为了简化语言, ,接口真的简化了语言吗?对此我产生了疑惑: (1)在JAVA中一个类implements了一个接口后,接口中的所有方法(无论是否用的到)必...
在JAVA中使用了接口,摒弃了多重继承机制,在我所看的JAVA教材上,说这是为了简化语言,
,接口真的简化了语言吗?对此我产生了疑惑:
(1)在JAVA中一个类implements了一个接口后,接口中的所有方法(无论是否用的到)必须在类
定义中被一一实现,而在多重继承机制中,派生类只需重写那些自己需要用到且与基类中有不
同功能的方法。这样的话接口机制岂不增加了代码量。
(2)按我的理解,接口可以把一个类所需要的方法提取出来组合到一起,再提供给类,然而这种
组合是有特异性的,每个新建的类所需的方法是不同的。很难达到像多重继承那样各取所需(就算
不需要,也不用再次去实现)。
(3)由于类可以implements多个接口,且接口允许多重继承,这样也都会像"多重继承机制"那样
出现同名方法的处理问题。
我所看到的接口的一个好处是:它不会像多重继承那样,当被继承的几个基类中出现方法名,参数
类型,参数个数都相同而所实现功能却不同的方法时,产生的二义性问题(必须用基类类名指明
不同的方法)。因为接口只包含抽象方法定义,而在具体的类中实现方法,所以这个问题被避免
了。
接口优势真的仅在于此吗? 望高手指点迷津!
,接口真的简化了语言吗?对此我产生了疑惑:
(1)在JAVA中一个类implements了一个接口后,接口中的所有方法(无论是否用的到)必须在类
定义中被一一实现,而在多重继承机制中,派生类只需重写那些自己需要用到且与基类中有不
同功能的方法。这样的话接口机制岂不增加了代码量。
(2)按我的理解,接口可以把一个类所需要的方法提取出来组合到一起,再提供给类,然而这种
组合是有特异性的,每个新建的类所需的方法是不同的。很难达到像多重继承那样各取所需(就算
不需要,也不用再次去实现)。
(3)由于类可以implements多个接口,且接口允许多重继承,这样也都会像"多重继承机制"那样
出现同名方法的处理问题。
我所看到的接口的一个好处是:它不会像多重继承那样,当被继承的几个基类中出现方法名,参数
类型,参数个数都相同而所实现功能却不同的方法时,产生的二义性问题(必须用基类类名指明
不同的方法)。因为接口只包含抽象方法定义,而在具体的类中实现方法,所以这个问题被避免
了。
接口优势真的仅在于此吗? 望高手指点迷津!
|
email:zyj761127@sina.com.cn我发给你一篇文章,你对理解起来可能有所帮助!
|
请参考,标准库中的示配器类。
可以使你不需要实现所有方法,省去麻烦
可以使你不需要实现所有方法,省去麻烦
|
说到底还是对象的概念。能够很好的抽取对象,就是决定高手。
项目做多了,慢慢就体会出来了。
项目做多了,慢慢就体会出来了。
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。