从面向对象的角度来说,接口是一个超越了类的共性的描述,不能把它和类混为一谈

举个例子,现在有磁条卡和IC卡的两种银行卡,它们有很多共性,有卡号,基本是个长方形的薄片,有发卡行的标识等等等,这些共性可以认为是一个银行卡的类

但是ATM机和POS机其实并不关心这些什么表面印着卡号啊,是否是长方形啊这种属性,对于传统的磁条ATM机,它只关心这个卡是否有磁条,所以磁条可以认为是一个接口,实现了这个接口的任意物体其实都可以在那里读取到。IC卡也是,ATM机和POS机只关心它读取的这个物体是否有一个可以识别的IC卡接口,本质而言你可以把你的银行卡剪刀剪到只留一个IC卡芯片或者磁条,它已经丢失了大部分作为银行卡的属性,但是那个接口还是可以实现的,然后去ATM上仍然可以操作。

(当然对于现实世界,你得能让那个东西能够刷进去那个磁条的位置,这个是另外的范畴)

再举一个例子是你可以想想USB接口,众多厂商约定好这个接口规范后,其实并不关心那边到底是什么具体的设备(class),只关心这个接口的那些触点会怎么和主板和cpu传输数据就可以了,至于后面接的是键盘,u盘还是摄像头根本无所谓

一时兴起的答案,描述未必精确,希望能够帮助你理解

java接口是类型吗_JAVA中,接口到底是不是类相关推荐

  1. java 把方法当参数传递_java 中 如何将“一个类的方法 ”作为参数传到“另一个类的方法”中...

    展开全部 在java中这是没有办法做到的,因e5a48de588b662616964757a686964616f31333337396336为java不是函数式编程语言,不过可以通过传递一个接口来实现 ...

  2. JAVA接口的访问权限_Java中访问权限-类和接口

    (1)类和接口的访问权限种类一样 , 有两中public,default,它们的不同在于是否能访问不同包中的类或接口 default:只能在本包中访问 public:任何地方都可以访问,当然不同的包中 ...

  3. java float什么类型数据类型_Java中的Float和double数据类型

    浮点数据类型是单精度32位IEEE 754浮点数,双数据类型是双精度64位IEEE 754浮点数. 这是什么意思?什么时候应该使用float而不是double,反之亦然? 解决方法: 总结一下: &g ...

  4. java super是什么意思_java中Super到底是什么意思

    要说super就先要说this. "this",作为一个特殊的关键字,它的规则如下: 1.可以表示构造函数传递.this(a,b)表示调用另外一个构造函数.这里面的this就是一个 ...

  5. java super是什么意思_java中Super到底是什么意思?必须举例说明!

    [学习笔记] 3."超"关键字(super keyword) Super是一个参考(或说指针)指向他紧邻的父类(见下面的例子). 用super可以指向被隐藏的父类的同名成员. 3. ...

  6. java 抽象类与接口区别是什么_JAVA中抽象类与接口的区别,分别在什么情况下使用它们...

    在网上看到很多人问关于"抽象类与接口的区别",因此本人想通过自己多年对JAVA开发的经验来总结一下抽象类与接口的区别以及分别在什么情况下使用它们. 在Java语言中, abstra ...

  7. java 匿名类 构造方法_Java中接口式的匿名内部类的构造方法

    在使用多线程的时候,时常会使用两种方式实现,一种是直接继承Thread类来实现多线程,另外一种就是实现Runnable接口. 我们都知道,接口是没有构造方法的,同时匿名内部类也是没有构造方法的.原因有 ...

  8. java 接口 抛出异常处理_JAVA中接口与抛出异常的相关知识

    1.接口概念:接口可以理解为一种特殊的类,由全局常量和公共的抽象方法所组成. 类是一种具体实现体,而接口定义了某一批类所需要遵守的规范,接口不关心这些类的内部数据,也不关心这些类里方法的实现细节,它只 ...

  9. java中抽象类和接口的相同点和不同点_Java中接口和抽象类的区别与相同之处

    1. 抽象类: (1).概念:抽象类是对一种事物的抽象,即对类抽..抽象类是对整个类整体进行抽象,包括属性.行为.Java抽象类和Java接口一样,都用来声明一个新的类型.并且作为一个类型的等级结构的 ...

最新文章

  1. 如何在 Linux 上永久挂载一个 Windows 共享
  2. BCH升级在即,半路杀出个“中本聪”
  3. 近一段忙项目。。。。
  4. 从三个角度判断网站优劣程度值得了解一下
  5. 外贸网站建设需要考虑的五大层面
  6. C/C++写无控制台窗口程序
  7. 锁Lock,主要是重入锁和读写锁
  8. 为什么很多人只提苹果手机比安卓手机流畅耐用,却不提苹果手机比安卓手机贵几倍?
  9. C#算法练习,求e,求π
  10. 小D课堂 - 零基础入门SpringBoot2.X到实战_第9节 SpringBoot2.x整合Redis实战_38、源码编译安装Redis4.x...
  11. Oracle数据库中查看所有表和字段以及表注释.字段注释
  12. 计算机的硬盘有几个分区,电脑硬盘分几个区合适?电脑硬盘分区小窍门
  13. python网球比赛模拟主持稿_跪求:关于体育类节目的模拟主持稿
  14. 苹果新旧手机数据转移_如何将数据从安卓设备转移到iPhone12_苹果手机_手机学院...
  15. 微信小程序新手入门教程
  16. 有人相爱,有人年少财务自由,有人数据结构都背不出来
  17. 【论文阅读】Learning Deep Features for Discriminative Localization
  18. Unity3D 内存 释放
  19. 安徽大学计算机学院 张磊,安徽大学张磊在光学自由曲面高精度干涉检测领域取得进展...
  20. 想学习编程,该怎么开始,需要多长时间?

热门文章

  1. oracle preparedstatement,【JDBC】java PreparedStatement操作oracle数据库
  2. 第一章 内核模块 elf文件
  3. Java继承_Java面试题总结(一)
  4. solr mysql 导入命令_(solr系列:四)将mysql数据库中的数据导入到solr中及删除solr中导入的数据...
  5. tomcat拒绝访问是为什么_Tomcat中的connectTimeout和慢攻击
  6. kali linux 内核,关于kali编译安装内核和多内核保留的问题求解答。
  7. 纠错编码基本实验matlab,纠错编码基本实验matlab实现包含源代码
  8. php扩展包是什么意思,php – 扩展或包括 – 什么是更好的Twig?
  9. img引Linux的绝对路径,什么是绝对路径和相对路径
  10. 在java中finalize_在Java垃圾回收中使用finalize()方法