【摘要】作为一门面向对象编程语言,Java吸收了C++语言的优点,也展现了其强大的一面,我们能在各个地方看到其功能强大和简单易用的两个特征,当然,也吸引了很多程序员的注意力,所以就有人想了解Java的相关内容,今天就来讲讲为什么要用Java接口的相关内容。

在Java语言规范中,一个方法的特征仅包括方法的名字,参数的数目和种类,而不包括方法的返回类型,参数的名字以及所抛出来的异常。在Java编译器检查方法的重载时,会根据这些条件判断两个方法是否是重载方法。但在Java编译器检查方法的置换时,则会进一步检查两个方法(分处超类型和子类型)的返还类型和抛出的异常是否相同。

Java接口本身没有任何实现,因为Java接口不涉及表象,而只描述public行为,所以Java接口比Java抽象类更抽象化。但是接口不是类,不能使用new 运算符实例化一个接口。

如:

x=new comparable(……);//这个是错误来的。

但是可以声明接口变量

Comparable x; //这是允许的。

Java接口的方法只能是抽象的和公开的,Java接口不能有构造器,Java接口可以有public、静态的和final属性。即接口中的属性可以定义为

public static final int value=5;

接口把方法的特征和方法的实现分割开来。这种分割体现在接口常常代表一个角色,它包装与该角色相关的操作和属性,而实现这个接口的类便是扮演这个角色的演员。一个角色由不同的演员来演,而不同的演员之间除了扮演一个共同的角色之外,并不要求其它的共同之处。

1、为什么要用Java接口——接口的定义方式

接口的主体包含着抽象方法,但所有方法在接口内(定义上)都是抽象(Abstract)方法,所以abstract的关键字在接口内则不被需要。由于接口代表着一个对外行为的集合,所以任何方法在接口内都是public(公开的)。

接口内的成员皆为静态(static)、final及公开(public),反之,他们可以成为任何类或接口的类型

接口的使用解决类只能单继承的问题,因为一个类可以实现多个接口。

那么Java中要如何去实现一个接口并且在实现他的子类中调用接口中的方法呢?

2、为什么要用Java接口——接口的实现方式

如果一个类实现了一个接口,而没有实现接口的所有方法,则它必须被标注为abstract(抽象类)。一个抽象类的子类必须实现它未完成的方法,假如该项子类仍不会实现接口的所有方法,那么该项子类依然需要被标注为abstract。

接口通常被使用在Java编程语言,用来做回调函数使用[2] 。Java并不允许方法作为参数传递使用,因此,其中一个解决办法则是可以定义一个接口,把这个接口当成方法的参数,以此来使用该项对象的方法签名。

JAVA中为什么要用接口定义编程_【Java公开课|为什么要用Java接口,这些内容你一定要搞清楚】- 环球网校...相关推荐

  1. java中0x0f对应的字符是什么_常见字符的ASCII码,java中如何获取字符的ASCII码

    一.常见字符的ASCII码 ASCII 码使用指定的7 位或8 位的二进制数组合来表示128 或256 种可能的字符. 标准ASCII 码也叫基础ASCII码,使用7 位二进制数(最高的1位二进制为0 ...

  2. java类名可以是数字吗_在 Java 中,一个类可同时定义许多同名的方法,这些方法的形式参数的个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序特性称为( )。_学小易找答案...

    [简答题]Java 支持多继承吗 ? [单选题]以下关于继承的叙述正确的是( ). [单选题]在 Java 中,一个类可同时定义许多同名的方法,这些方法的形式参数的个数.类型或顺序各不相同,传回的值也 ...

  3. 浅谈JAVA中如何利用socket进行网络编程(二)

    转自:http://developer.51cto.com/art/201106/268386.htm Socket是网络上运行的两个程序间双向通讯的一端,它既可以接受请求,也可以发送请求,利用它可以 ...

  4. java 定义变量时 赋值与不赋值_探究Java中基本类型和部分包装类在声明变量时不赋值的情况下java给他们的默认赋值...

    探究Java中基本类型和部分包装类在声明变量时不赋值的情况下java给他们的默认赋值 当基本数据类型作为普通变量(八大基本类型: byte,char,boolean,short,int,long,fl ...

  5. java中形参不可以是对象吗_(重要)java都是值传递,与对象形参所指向的对象改变,其实参所指向的对象也相应改变并不矛盾(2011年9.30日一天写的两个程序的总结结果)...

    1.0建立二叉树的代码,在java中必须创建二叉树的方法必须用返回值,因为不存在c语言中的引用传递,在java中只有值传递 代码1为正确,代码2(没有使用返回值)为错误.那么为什么之前的例子中将对象作 ...

  6. java中 下列不合法的语句_在Java中,下列( )是不合法的赋值语句。_学小易找答案...

    [多选题]75. 垂直角观测的步骤是( ). [多选题]139. 属于真误差的是( ). [多选题]160. 导线观测数据有( ). [单选题]145.水准测量时,长水准管气泡居中明 ( ). [单选 ...

  7. java 基本类型 不赋值_探究Java中基本类型和部分包装类在声明变量时不赋值的情况下java给他们的默认赋值...

    探究Java中基本类型和部分包装类在声明变量时不赋值的情况下java给他们的默认赋值 当基本数据类型作为普通变量(八大基本类型: byte,char,boolean,short,int,long,fl ...

  8. 什么是 Java 中的 AOP(面向切面编程)?如何使用它来实现横切关注点?

    AOP(Aspect-oriented programming,面向切面编程),是一种编程思想和技术,旨在将横切关注点和主业务逻辑分离,使得系统更容易扩展和维护.在 Java 中,AOP 主要通过代理 ...

  9. java中super用来定义父类,定义子类必须使用的关键字是 在java中子类若要继承父类,需要使用的关键字是什么...

    java定义接口时需要使用的关键字是 定义接口复使用的关键字是"interface",中文意思"接口.解释:通常接口都是制为了定义百某些规范,而在接口中只定义了方法,而没 ...

最新文章

  1. 第一篇:BPE算法(附加)
  2. 白话异常检测算法Isolation Forest
  3. 切换用户_Mac如何在多个用户间快速切换?
  4. jquery.eq()
  5. 为什么说强化学习是针对优化数据的监督学习?
  6. iOS 3D Touch功能
  7. matlab2017b安装之后点桌面图标黑框闪退
  8. Tableau商业智能与可视化应用实战系列视频教程(史上最全)
  9. 一步一步教你如何在手机上看电子书
  10. 决策树、随机森林及代码实战
  11. archlinux 触摸板设置
  12. 加拿大要把AI带上飞机,他们都准备干什么?
  13. 最小二乘法直线拟合、圆拟合
  14. csp试题2:二十四点
  15. AES密钥编排Python实现
  16. python实现栅格计算器功能
  17. 给刚入坑的ACMer一些编码建议(1)——使用“好”变量名
  18. 在项目中如何使用font awesome
  19. 类模板,函数模板,及其特化
  20. ARK女神持仓每日跟踪|2021年01月21日

热门文章

  1. 使用IDEA逆向生成实体类时注意问题(Maven)
  2. 思考题2(人车关系)
  3. Linux 命令(一) findgrep文件查找命令
  4. 表的顺序结构---重写Arraylist类
  5. textbox点击后弹出系统键盘导致背景重置为白色的问题
  6. glEnable/glDisable(GL_CULL_FACE)与glCullFace()
  7. jquery 设置 select 默认值方法
  8. 在线文字图标logo文章封面图生成工具
  9. Python3常用正则表达式
  10. 仓储“云服务”初创公司 Clutter获得 6500 万美元 C 轮融资