我想,可能不止我一个人有这个疑问,所以,把它贴出来。

  下面是madai和clkrst给我的回答。
  在此谢谢两位。
  我的问题是:
  java 的接口到底起什么作用?
  1、从书中看到的是java程序的接口中只定义了常量及空方法,空的方法有什么用呢?还要在类中写方法体,那还要接口干什么?
  2、一个程序中写了2个接口,并在同一个类中写方法体,这与多继承有什么关系。
  3、包中那些已定义的接口,怎么知道那里面定义了什么方法。
  说到底,接口有什么实际意义,哪本书都不讲,一味的讲是多继承,不结合实际实在不好懂。
  Madai的理解是:
  java接口的用处主要体现在下面几个方面:
  (1)通过接口可以实现不相关类的相同行为,而不需要了解对象所对应的类。
  (2)通过接口可以指明多个类需要实现的方法。
  (3)通过接口可以了解对象的交互界面,而不需了解对象所对应的类。
  Clkrst给出了更详细的解释:
  类描述了一个实体,包括实体的状态,也包括实体可能发出的动作。
  接口定义了一个实体可能发出的动作。但是只是定义了这些动作的原型,没有实现,也没有任何状态信息。
  所以接口有点象一个规范、一个协议,是一个抽象的概念;而类则是实现了这个协议,满足了这个规范的具体实体,是一个具体的概念。
  从程序角度,简单理解,接口就是函数声明,类就是函数实现。需要注意的是同一个声明可能有很多种实现。
  所以就你的问题:
  1、接口中定义类方法的原型,但是不能说是空方法,因为空方法的意思是有实现体,只不过实现体是空操作。实际上接口没有定义任何实现体。具体的实现体都是在实现接口的类中,接口只是定义了这些方法的调用方式。
  你当然也可以不用接口,直接在类里面写方法,但是如果你的一组方法需要在很多类里实现,那么把它们抽象出来,做成一个接口规范,不是更好么?
  2、一个类描述了一个实体,这个实体可能是一个复杂的对象,它的动作很多,如果把这些动作分类,用接口a定义其中的某一组动作,接口b定义其中的另外一组动作,这样的结构,比较清楚。
  这种方式具备了多继承的优点,避免了多继承的缺陷。实际上在历史上,接口在很大程度上,是为了解决多继承带来的种种问题而设计出来的。
  3、包中那些已定义的接口,怎么知道那里面定义了什么方法。
  接口里定义了方法的输入输出,这些都是协议,具体的实现都在每个类中。对于很多只需要抽象接口的地方,不需要知道具体的类是什么,只要这个类实现了这个接口就可以了。

转载于:https://www.cnblogs.com/bowenlearning/p/3990222.html

java接口的作用是什么?相关推荐

  1. java 接口的作用和好处

    1.java 接口的作用 http://blog.csdn.net/hack_bug/article/details/7634737 2.一位Java大牛的回答 很多JAVA初级程序员对于接口存在的意 ...

  2. Java接口的作用和意义是什么?

    接口的定义 接口泛指实体把自己提供给外界的一种抽象化物(可以为另一实体),用以由内部操作分离出外部沟通方法,使其能被内部修改而不影响外界其他实体与其交互的方式. 人类与电脑等信息机器或人类与程序之间的 ...

  3. java接口的作用和意义_java什么是接口?接口有什么作用?接口如何使用?

    1.在Java中接口是一种特殊的抽象类.跟一般的抽象类相比,接口里面的所有方法都是抽象方法,接口口里面的所有属性都是常量.也就是说,接口里面只有方法定义而没有任何方法实现.上面所说的是接口的概念. 2 ...

  4. java接口的作用和意义_Java接口的作用与意义

    接口 1.接口的特点 首先看下面的这个抽象类代码: 抽象类代码中变量全为常量,方法全是抽象方法,这样的形式,我们可以将它们定义为接口类,书写方式如下: 接口的语法为: interface接口名{ 常量 ...

  5. 49天精通Java,第12天,Java接口的作用和意义

  6. Java中接口的作用,为什么要写接口?

    ** Java中接口的作用 转载于:https://www.zhihu.com/question/20111251 ** **困惑:**例如我定义了一个接口,但是我在继承这个接口的类中还要写接口的实现 ...

  7. java接口和抽象类的区别和作用

    java接口和抽象类的区别和作用 接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明.一个类通过(implements)接口的方 ...

  8. java接口有什么用_Java 中的接口有什么作用?好处?

    接口的作用就是把使用接口的人和实现接口的人分开,实现接口的人不必要关心谁去使用,而使用接口的人也不用关心谁实现的接口,由接口将他们联系在一起. 很多JAVA初级程序员对于接口存在的意义很疑惑.不知道接 ...

  9. java的知识点13——多态、对象的转型(casting)、final关键字、抽象方法和抽象类、接口的作用、如何定义和使用接口?、接口的多继承、面向接口编程

    多态 多态指的是同一个方法调用,由于对象不同可能会有不同的行为.现实生活中,同一个方法,具体实现会完全不同. 多态的要点: 1. 多态是方法的多态,不是属性的多态(多态与属性无关). 2. 多态的存在 ...

最新文章

  1. 硬核!如何模拟 5w+ 的并发用户?
  2. Pandas中的 transform() 结合 groupby() 用法示例
  3. C 和C语言条件运算符的区别
  4. 【渝粤教育】电大中专会计电算化_1作业 题库
  5. CCNP-第十篇-BGP(二)
  6. 揭秘政企安全加速解决方案的架构与应用场景实践
  7. python 判断文件夹或文件是否存在
  8. jquery autocomplete的使用
  9. win10 安装docker流程_Windows10下安装Docker的步骤图文教程
  10. 方正电脑如何关闭网络启动计算机,方正电脑怎么进安全模式
  11. VNCTF2021[WEB]
  12. arcgis面填充图案_如何将CAD里的图案填充导入ARCGIS中?
  13. 很抱歉,程序无法在非MBR引导分区上进行激活
  14. ElasticSearch内存优化
  15. RocketMQ 延迟队列
  16. 系统全面的认识Solr
  17. 软考中级软件设计师基础整理(1.计算机组成与体系结构)
  18. 深度学习教程(6) | 神经网络优化算法(吴恩达·完整版)
  19. mysql五日均线_mysql – 如何在SQL中的某个日期范围内执行移动平均线?
  20. 硬件电路设计入门奉献系列(一)

热门文章

  1. 以二进制的形式保存在数据库中
  2. IEEE 第二届大数据、人工智能与物联网工程国际会议 (IEEE-ICBAIE 2021)
  3. 语义分割未来发展如何?
  4. 最强!超越卷积、自注意力机制:强大的神经网络新算子involution
  5. 听说你还不懂哈夫曼树和哈夫曼编码
  6. Matlab线性/非线性规划优化算法(2)
  7. 三调数据库及DLTB各个字段含义
  8. java 正则表达式 img_正则表达式处理图片地址、img标签的方法
  9. mysql and 和where_如何使用mysql查询where条件里的or和and
  10. android tv nugat,GitHub - GongXunYoung/Android-tv-widget: Android tv,盒子,投影仪 控件