当前位置:  技术问答>java相关

对"接口"的疑惑

    来源: 互联网  发布时间:2015-08-05

    本文导语:  在JAVA中使用了接口,摒弃了多重继承机制,在我所看的JAVA教材上,说这是为了简化语言, ,接口真的简化了语言吗?对此我产生了疑惑: (1)在JAVA中一个类implements了一个接口后,接口中的所有方法(无论是否用的到)必...

在JAVA中使用了接口,摒弃了多重继承机制,在我所看的JAVA教材上,说这是为了简化语言,
,接口真的简化了语言吗?对此我产生了疑惑:
(1)在JAVA中一个类implements了一个接口后,接口中的所有方法(无论是否用的到)必须在类
定义中被一一实现,而在多重继承机制中,派生类只需重写那些自己需要用到且与基类中有不
同功能的方法。这样的话接口机制岂不增加了代码量。
(2)按我的理解,接口可以把一个类所需要的方法提取出来组合到一起,再提供给类,然而这种
组合是有特异性的,每个新建的类所需的方法是不同的。很难达到像多重继承那样各取所需(就算
不需要,也不用再次去实现)。
(3)由于类可以implements多个接口,且接口允许多重继承,这样也都会像"多重继承机制"那样
出现同名方法的处理问题。

我所看到的接口的一个好处是:它不会像多重继承那样,当被继承的几个基类中出现方法名,参数
类型,参数个数都相同而所实现功能却不同的方法时,产生的二义性问题(必须用基类类名指明
不同的方法)。因为接口只包含抽象方法定义,而在具体的类中实现方法,所以这个问题被避免
了。
接口优势真的仅在于此吗? 望高手指点迷津!

|
email:zyj761127@sina.com.cn我发给你一篇文章,你对理解起来可能有所帮助!

|
请参考,标准库中的示配器类。
可以使你不需要实现所有方法,省去麻烦

|
说到底还是对象的概念。能够很好的抽取对象,就是决定高手。
项目做多了,慢慢就体会出来了。

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间javax.script接口invocable的类成员方法: getinterface定义及介绍
  • 关于LOCAL接口和REMOTE接口的同时兼顾的问题
  • java命名空间javax.lang.model.element接口typeelement的类成员方法: getinterfaces定义及介绍
  • 请问 linux 是如何调用 alsa的控制接口的??是通过控制接口名字吗?
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getmanagementspecversion定义及介绍
  • LINUX下最大支持虚接口数是多少? 如果我想配置1000个虚接口可以吗?
  • java命名空间java.beans.beancontext接口beancontextproxy的类成员方法: getbeancontextproxy定义及介绍
  • 对于操作系统的程序接口,作业接口,单内核,微内核到底有什么区别?
  • java命名空间javax.print接口uriexception的类成员方法: getreason定义及介绍
  • java的API中有没有既实现了Map接口又实现了List接口的类?
  • java命名空间javax.swing.text接口caret的类成员方法: install定义及介绍
  • 菜鸟提问:一个类实现了一个接口,除了要定义接口的所有方法外,可不可以再添加其他方法?
  • java命名空间javax.swing接口rootpanecontainer的类成员方法: getrootpane定义及介绍
  • 急,请问如何修改网络接口eth为其它名称,如网络接口为abc0, abc1,要修改哪个配置文件?
  • java命名空间javax.swing.text接口highlighter的类成员方法: install定义及介绍
  • 有人在Linux下用过1394接口的设备吗?怎么装载一个1394接口的存储设备呢?
  • java命名空间java.lang.reflect接口parameterizedtype的类成员方法: getrawtype定义及介绍
  • 请问高手:EJB中的远程接口、本地接口、HOME接口的联系与区别是什么?应用时应注意哪些问题?
  • java命名空间javax.management接口descriptorread的类成员方法: getdescriptor定义及介绍
  • C#学习笔记之接口与基于接口的工厂模型
  • java命名空间javax.lang.model.element接口typeparameterelement的类成员方法: getgenericelement定义及介绍
  • 请问为什麽在J2ee中客户端(测试时)用jndi定位enterprise bean的时候,可以把远程接口实例化?接口不是不可以生成对象的吗?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3