我们一般将一个抽象类中所有方法都是抽象方法的抽线类定义为接口,接口时由常量和抽象方法组成的特殊类,即接口里面连构造方法也没有。接口通常用“interface”关键字来声明,一个类通过继承接口的方式,从而来继承接口的抽象方法。

例:定义一个接口

 public interface inter_1 {
public static final int a = 10;//常量
abstract String Animal();//抽象方法 }

在语法中,一个接口可以有多个父接口,他们之间用逗号隔开。使用接口的目的时为了克服单继承的限制,一个类只能有一个父类但可以实现多个接口。一个类实现接口中的所有方法须用 implements关键字。

接口的实现类声明格式如下

[<修饰符>] class <类名> [extends <超类名>] [implements <接口1>,<接口2>, .....] 

例2:

  //定义A接口
interface A{
String A_behavior = "行为";
void run();
void eat();
}
// B类实现A接口
class B implements A{
public void run(){
System.out.println(A_behavior+":"+"在奔跑");
}
public void eat(){
System.out.println(A_behavior+":"+"在吃东西");
}
}
public class Ex_1{
public static void main(String args[]){
B b = new B();//实例化B
b.run();
b.eat();
}
}

输出结果 应为 A的行为:B在奔跑

A的行为:B在吃东西

要特别注意的时一个类实现一个接口,必须实现接口中所有的抽象方法,不能实现某一个方法也必须写出一个空方法

接口特点归纳如下:

接口中的方法都是抽象的,不能实例化对象

接口中的属性只能是常量

当一个类实现接口时,如果这个类是抽象类,则实现接口中的部分方法即可,否则需要实现接口中的所有方法

一个类通过implements实现接口时,可以实现多个接口,被实现的接口之间用逗号隔开,示例如下

interface Run{
代码.....
}
interface Fly{
代码.....
}
class Bird implements Run,Fly{
代码....
}
interface A{
代码.....
}
interface B{
代码.....
}
Interface C extends A,B{
代码.....
}
class C extends B implements A{
代码......
}

JAVA 中的接口(interface)的更多相关文章

  1. java中的接口interface

    关于接口 接口描述了实现了它的类拥有什么功能.因为Java是强类型的,所以有些操作必须用接口去约束和标记.接口作为类的能力的证明,它表明了实现了接口的类能做什么. 类似与class,interface ...

  2. java中List接口的实现类 ArrayList,LinkedList,Vector 的区别 list实现类源码分析

    java面试中经常被问到list常用的类以及内部实现机制,平时开发也经常用到list集合类,因此做一个源码级别的分析和比较之间的差异. 首先看一下List接口的的继承关系: list接口继承Colle ...

  3. 第五节:详细讲解Java中的接口与继承

    前言 大家好,给大家带来详细讲解Java中的接口与继承的概述,希望你们喜欢 什么是接口(interface) 接口中的方法都是抽象方法,public权限,全是抽象函数,不能生成对象 interface ...

  4. JavaSE入门学习20:Java面向对象之接口(interface)(一)

    一Java接口 接口(英文:interface)是抽象方法和常量值的集合,在Java编程语言中是一个抽象类型,接口通常以interface来声 明.类是一种详细实现体.而接口定义了某一批类所须要遵守的 ...

  5. Java学习笔记二十八:Java中的接口

    Java中的接口 一:Java的接口: 接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明.一个类通过继承接口的方式,从而来继承 ...

  6. JavaSE入门学习21:Java面向对象之接口(interface)(二)

    一接口实现的多态 在上一篇博文:JavaSE入门学习20:Java面向对象之接口(interface)(一)中提到了接口的实现存在多态性,那么 这一篇主要就要分析接口实现的多态. 实例一 Test.j ...

  7. 转:Java中abstract和interface的区别

    转自:Java中abstract和interface的区别 abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java ...

  8. JAVA中限制接口流量、并发的方法

    JAVA中限制接口流量可以通过Guava的RateLimiter类或者JDK自带的Semaphore类来实现,两者有点类似,但是也有区别,要根据实际情况使用.简单来说, RateLimiter类是控制 ...

  9. java中map接口hashMap以及Enty之间的用法和关系

    java中map接口hashMap以及Enty之间的转换 首先说的是map接口: Map提供了一种映射关系,其中的元素是以键值对(key-value)的形式存储的,能够实现根据key快速查找value ...

  10. Java 中的接口有什么作用?以及接口和其实现类的关系?

    Java 中的接口有什么作用? - Ivony的回答 - 知乎 https://www.zhihu.com/question/20111251/answer/16585393 这是一个初学者非常常见的 ...

随机推荐

  1. Javascript 进阶 继承

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/29194261 1.基于类的继承 下面看下面的代码: <script typ ...

  2. 用git工作的流程

    1.       clone仓库: git clone git@github.com:test/test.git 2.       检出远程的develop分支 git checkout -b dev ...

  3. MAC使用小技巧之用好mac电脑?的10个必知的小技巧!

    很多朋友是不是都有这样的困惑,刚接手Mac电脑,无论是笔记本亦或是台式机,很是不方便,因为windows系统那种习惯已经先入为主了,今天就给大家普及一些小技巧. 当你看到这篇文章,不管你有没有mac电 ...

  4. bzoj4067 [Ctsc2015]gender

    好神的一道题啊! 我们发现题目中的ln的贡献非常傻逼,但是我们可以发现这个东西的取值只有40个左右,于是我们可以枚举他! 枚举完了对于题里的贡献就是一个普通的最小割,采用的是文理分科的思想,与S连代表 ...

  5. Sql语言简介——检索数据

    检索数据可以通过SELECT语句来实现. select子句:用于选择数据表.视图中的列. into子句:用于将原表中的结构和数据插入新表中. from子句:用于指定数据来源,包括表.视图和其他sele ...

  6. MYSQL——解题查询语句答题思路,再难的查询都不怕!

    select查询语句,作为测试人员,使用此语句是家常便饭,是必须掌握的部分,由开始学习mysql到网上搜索试题做,开始做题一塌糊涂,拿到题目就晕,无从下手,现在慢慢总结了一套自己做题的方式,很开森,嘿 ...

  7. shell简明教程

    shell的格式 shell可以在直接在命令行下输入,也可以保存成shell脚本文件运行.当命令简单并且不需要重复使用,在命令行输入直接执行即可,否则就写成脚本.shell脚本默认文件扩展名为.sh. ...

  8. go语言视频教程和电子书下载

    golang视频教程: https://noxue.com/p/399809259943301 go语言 pdf电子书: Design Pattern In Go[go语言设计模式].pdf Go P ...

  9. LeetCode重建二叉树系列问题总结

    二叉树天然的递归特性,使得我们可以使用递归算法对二叉树进行遍历和重建.之前已经写过LeetCode二叉树的前序.中序.后序遍历(递归实现),那么本文将进行二叉树的重建,经过对比,会发现二者有着许多相似 ...

  10. 搜狗输入法与VS快捷键有冲突_处理办法

    前言:搜狗输入法是大家常用的文字输入工具,但是在开启输入法的时候,VS的一些快捷键无法正常使用,如智能提示快捷键:Ctrl+.,这就非常尴尬了,除非把输入法切换成英文或者卸载搜狗改别的输入法,一个是切 ...