我们一般将一个抽象类中所有方法都是抽象方法的抽线类定义为接口,接口时由常量和抽象方法组成的特殊类,即接口里面连构造方法也没有。接口通常用“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. LaTeX 中图片格式错误情况

    Unknown graphics extension: .eps 利用宏包usepackage {graphicx} 是图片和pdflatex一起用时的错误.注:{不是所有的时候,有时候也能通过} 两 ...

  2. mac升级后idea提示Can't start git

    试了官网的解决方案,还是不行,然后到Stack Overflow上面,找到了下面这个方法,完美解决. 在命令行中运行: xcode-select --install 安装软件就可以了.

  3. Jmeter----创建第一个接口测试流程

    第一步.创建线程 第二步.添加一个HTTP请求 第三步.设置request的请求头信息 根据自己需要填写的请求头信息进行填写,如下是我需要接口测试时填写的请求头 第四步.设置相关的HTTP请求参数,完 ...

  4. Charles 连接手机抓包出现Unknown,一直无法抓包的问题解决

    mac电脑安装了charles并且确保已经安装成功,https抓包需要安装的相关的证书已经安装,并且手机浏览器中输入chls.pro/ssl已经将证书下载完成,但是手机与电脑相连通过点击手机应用还是无 ...

  5. Docker 发布 Abp net core web 服务

    Docker 发布 Abp net core web 服务 准备工作:Abp 项目,这个是模板下载地址 https://aspnetboilerplate.com/Templates (本例使用的是S ...

  6. Navicat:实现两个数据库结构同步和数据库对比

    Navicat版本:Navicat Premium 12 选择 工具 ——> 结构同步 ​ 选择源数据库和目标数据库,选择完成后点击右下角对比按钮 ​ 要修改的对象:源数据库和目标数据库中都有的 ...

  7. C# - 为值类型重定义相等性

    为什么要为值类型重定义相等性 原因主要有以下几点: 值类型默认无法使用 == 操作符,除非对它进行重写 再就是性能原因,因为值类型默认的相等性比较会使用装箱和反射,所以性能很差 根据业务需求,其实际相 ...

  8. OpenResty 在又拍云容器平台中的应用

    大家好,我是又拍云叶靖,今天主要分享 OpenResty 在又拍云容器平台中的应用.目前又拍云有很多产品,其中很多都使用了 OpenResty 技术,比如又拍云的 CDN .网关都是基于 OpenRe ...

  9. ASP.NET Core 实战:构建带有版本控制的 API 接口

    一.前言 在上一篇的文章中,主要是搭建了我们的开发环境,同时创建了我们的项目模板框架.在整个前后端分离的项目中,后端的 API 接口至关重要,它是前端与后端之间进行沟通的媒介,如何构建一个 “好用” ...

  10. Elasticsearch最佳实践之分片使用优化

    本文由云+社区发表 作者:老生姜 一.遇到的问题 与大多数分布式系统一样,Elasticsearch按照一定的Hash规则把用户数据切分成多个分片,然后打散到不同机器进行存储,从而实现大规模数据的分布 ...