java中的接口是类的蓝图。它具有静态常数和抽象方法。
java中的接口是一种实现抽象的机制。在java接口中只能有抽象的方法,而不是方法主体。它用于在Java中实现抽象和多重继承。
换句话说,您可以说接口可以有方法和变量,但是在接口中声明的方法只包含方法签名,而不是主体。
Java接口也表示IS-A关系。
它不能像抽象类那样被实例化。
它被用来实现抽象。
通过接口,我们可以支持多重继承的功能。
它可以用来实现松耦合。
那么如何声明接口?

接口是通过使用接口关键字来声明的。它提供了抽象;表示接口中所有的方法都是空的,并且是公有的,所有的字段默认都是公共的、静态的和最终的。实现接口的类必须实现接口中声明的所有方法。

如下图所示( class和接口的关系):

学过集成,我们知道继承并不支持多继承,即一个class不可能同时继承多个父类,因为继承由于模糊性,在类的情况下不支持多重继承。但是它在接口的情况下是支持的,因为实现类提供的实现没有歧义。(多继承如第三个代码)

一般情况之下接口是要定义在class之外,为什么要强调这一点...当时上机测试的时候我一直把interface放在class里面,然后就出现了第二个代码的样子(我也很无奈Ծ‸Ծ)

interface Shengwu{public void breath();}interface Dongwu{public void hassex() ;public void eat();}interface Human{public void think( );public void study() ;}class Sheng implements Shengwu{public void breath(){System.out.println("void breath();");System.out.println("Ah,I am breathing......so boring....");}}class Animals implements Dongwu{public void hassex(){System.out.println("void hassex();");System.out.println("Ah,I am faml......");}public void eat(){System.out.println("void eat();");System.out.println("what do I eat?.....I am so hunary....");}}class Humans implements Human{public void think(){System.out.println("void think();");System.out.print(" Ah,I am thinking now......so interesting....");}public void study() {System.out.println("void study();");System.out.println("I want to study......Do not stop me....");}}public class Test {public static void main(String[] args) {// TODO Auto-generated method stubSheng a=new Sheng();Animals b=new Animals();Humans c=new Humans();System.out.println( "所有的输出如下:");a.breath();System.out.println( );b.eat();System.out.println( );b.hassex();System.out.println( );c.study();System.out.println( );c.think();}}

以下就是把interface放在class里面的结果,两段代码的最大区别就是第二个代码class需要有static修饰,要不然会报错(之后我会总结一个博客关于static)

public class implement {interface Shengwu{public void breath();}//Shoeinginterface Dongwu{public void hassex();public void eat();}interface Human{public void think();public void study();}
//  public static public static class Sheng implements Shengwu{public void breath(){System.out.println("Ah,I am breathing......so boring....");}}
//  public static public static class Animals implements Dongwu{public  void hassex(){System.out.println("Ah,I am famle......");}public void eat(){System.out.println("what do I eat?.....I am so hunary....");}}
//  public staticpublic static class Humans implements Human{public void think(){System.out.print(" Ah,I am thinking now......so interesting....");}public void study(){System.out.println("I want to study......Do not stop me....");}}public static void main(String[] args) {Sheng a=new Sheng();Animals b=new Animals();Humans c=new Humans();a.breath();b.eat();b.hassex();c.study();c.think();}
}

下面这个简单的代码很好地体现了多接口的特点,并让我们理解多接口的实现:

interface Printable{  void print();  }
interface Showable{  void show();  }
public class CsdnMoreImplement implements Printable, Showable {public void print(){System.out.println("Hello,world!");}  public void show(){System.out.println("Hello,Java...");}  public static void main(String args[]){  CsdnMoreImplement a = new CsdnMoreImplement();  a.print(); a.show();}
}

接口还有许多:嵌套接口、接口的扩展等等

给大家推荐一个比较好的学习编程语言的网站,里面主流programming language基本都有,而且可以一边学英语一边学编程:点击打开链接

Mr.J--Java接口实现相关推荐

  1. java接口如何有效防止恶意请求

    java接口如何有效防止恶意请求?已解决 解决方法: 1.在redis数据库db0中新建一个名为rd_sms_request_count表,表结构: Ip:客户请求的ip Success_count: ...

  2. jni 调用java接口_JNI 调用 JAVA 接口

    JNI 调用 JAVA 接口 介绍 JNI 是本地语言编程接口.它允许运行在JVM中的Java代码和用C.C++或汇编写的本地代码相互操作. 由于一些加密等情况的需要,需要在 so 层获取一些信息用于 ...

  3. Java接口对Hadoop集群的操作

    Java接口对Hadoop集群的操作 首先要有一个配置好的Hadoop集群 这里是我在SSM框架搭建的项目的测试类中实现的 一.windows下配置环境变量 下载文件并解压到C盘或者其他目录. 链接: ...

  4. 推荐一个 Java 接口快速开发框架

    欢迎关注方志朋的博客,回复"666"获面试宝典 今天给小伙伴们介绍一个Java接口快速开发框架-magic-api 简介 magic-api 是一个基于 Java 的接口快速开发框 ...

  5. java接口如何定义常量 c_在Java接口中怎样访问定义的常量呢?

    java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能).那么我们在Java接口中怎 ...

  6. Java接口和Java抽象类

    Java接口和Java抽象类有太多相似的地方,又有太多特别的地方,究竟在什么地方,才是它们的最佳位置呢?把它们比较一下,你就可以发现了. 1.Java接口和Java抽象类最大的一个区别,就在于Java ...

  7. java接口深入理解,深入理解Java接口

    从java接口是什么到为什么,理解java接口,主要解决三个问题 1.java接口是什么 2.java接口为什么 3.java接口怎么用 java接口是什么 接口是方法的抽象,通过接口规定类需要实现那 ...

  8. java安全接口调用_步骤3:调用Java接口

    本文档主要介绍了通过调用Java接口生成工作密钥和进行通用数据加解密的操作方法. 整体流程 初始化SDK.具体内容请参见 配置Java接口.具体内容请参见 初始化SDK 使用以下方法初始化SDK.hs ...

  9. 对接第三方平台JAVA接口问题推送和解决

    对接第三方平台JAVA接口问题推送和解决 参考文章: (1)对接第三方平台JAVA接口问题推送和解决 (2)https://www.cnblogs.com/CreateMyself/p/7295879 ...

  10. java 接口与抽象类的区别

    1.概述 一个软件设计的好坏,我想很大程度上取决于它的整体架构,而这个整体架构其实就是你对整个宏观商业业务的抽象框架,当代表业务逻辑的高层抽象层结构 合理时,你底层的具体实现需要考虑的就仅仅是一些算法 ...

最新文章

  1. python2 安装faiss-gpu 报错 faiss/faiss/python/swigfaiss.i:241: Error: Unable to find ‘faiss/impl/platfo
  2. 微软BI 之SSIS 系列 - Lookup 组件的使用与它的几种缓存模式 - Full Cache, Partial Cache, NO Cache...
  3. DeprecationWarning: the md5 module is deprecated; use hashlib instead import md5
  4. NGINX中的proxy_pass和rewrite
  5. 网页图片左右滚动特效实例
  6. 云服务器 cvm操作系统选择,云服务器cvm操作系统选择
  7. python练习小例子(二)
  8. android volley 上传图片 和参数,android Volley 上传文件上传图片
  9. iOS 随笔 允许所有不安全网络访问项目
  10. linux zk服务 关闭_ORACLE数据库RAC安装部署--一键关闭Linux非必要服务
  11. html页面如何嵌入word在线编辑器,网页word编辑器 网页中如何嵌入word编辑器
  12. MSP430 F5529 单片机 串口 万年历 电子时钟 数字时钟 Digital clock
  13. 软件架构风格整理(1 数据流风格)
  14. blastn 输出结果每列啥意思_如何看懂NCBI BLAST输出结果
  15. ios wifi 定位_iOS中三种定位方式
  16. 10 公众号开发 - 关注/取消关注事件
  17. gcrobustvar:基于VAR的稳健性Granger因果检验
  18. Alpine安装与使用
  19. 求生之路服务器正在强制此文件的一致性,求生之路2和朋友联机错误代码的解决办法...
  20. 京东登录页面html代码_2019双十一天猫/京东自动获取喵币/金币方法

热门文章

  1. 谷歌更新TensorFlow目标检测API
  2. Python 基础总结 6 张图 带你学习Python
  3. python:就喜欢看你看不惯我又干不掉我的样子
  4. 收藏 | 12 种 NumpyPandas 高效技巧
  5. Linux 中最常用 150 个命令汇总
  6. CVPR 2020 顶会 AI学术检索工具
  7. GAN模型计算量减少至1/9!MIT韩松团队提出GAN压缩法,已开源
  8. matlab+awgn和wgn,噪聲強度(噪聲功率) 噪聲方差到底有什么關系? matlab中的awgn函數...
  9. java 旅行家的预算_旅行家的预算
  10. 数据结构期末复习之插入排序