1.接口和接口之间的关系:继承关系

单继承:     A接口继承B接口
          多继承:     A接口同时继承B接口,C接口...
          多层继承: A接口继承B接口,B接口继承C接口

interface A{}
interface B{}
interface C1 extends A{}    //单继承 接口可以继承另一个接口
interface C2 extends A,B{} // 多继承
interface C3 extends C2{}  // 多层继承
public class Tests {

2.格式:

public interface 接口名 extends 接口名1,接口名2...{}

3.接口多继承时的冲突情况

1.公有静态常量的冲突:子接口无法继承父接口冲突的常量
          2.公有抽象方法的冲突:子接口只会继承一个有冲突的抽象方法
          3.公有默认方法的冲突:子接口中必须重写一次有冲突的默认方法
          4.公有静态方法的冲突:静态方法是数据接口的,只能使用接口名直接访问,所有不冲突
          5.私有方法的冲突:私有方法只能在本接口访问,没有冲突

4.公有静态常量的冲突:

interface A{int NUM1 = 10;
}
interface B{int NUM1 = 10;int NUM2 = 20;
}
interface C extends A,B{}public class Tests {public static void main(String[] args) {//System.out.println(C.NUM1);   //接口A和接口B中的常量相同,调用的话编译报错System.out.println(C.NUM2);}
}

5.公有抽象方法的冲突:

    void method();
}
interface B{void method();
}
interface C extends A,B{void method();
}
class Impl implements C{@Overridepublic void method() {System.out.println("实现接口的抽象方法");}
}public class Tests {public static void main(String[] args) {/** 共有抽象方法的冲突:子接口只会继承一个有冲突的冲突方法* */Impl impl = new Impl();impl.method();}
}

6.公有默认方法的冲突:

interface A{public default void method(){System.out.println("A接口中的默认方法method");}
}interface B{public default void method(){System.out.println("B接口中的默认方法method");}
}
interface C extends A,B{@Overridedefault void method() {System.out.println("重写父类接口中的method方法");}
}
class Impl implements C{}public class Tests {/** 公有默认方法的冲突:子接口中必须重写一次有冲突的默认方法*   子接口重写父接口中的默认方法,必须加上default* */public static void main(String[] args) {Impl impl = new Impl();impl.method();}}

Java接口与接口的关系相关推荐

  1. java 接口 实现和继承关系

    一.抽象类 有时候,我们可能想要构造一个很抽象的父类对象,它可能仅仅代表一个分类或抽象概念,它的实例没有任何意义,因此不希望它能被实例化.例如:有一个父类"水果(Fruit)",它 ...

  2. java中的接口的定义以及实现关系

    一.什么是接口? - 硬件接口:设备之间的连接方式 - 软件接口:程序代码,特殊的类,表示一种规范,是具有N个方法的特征集合. java中的接口: 专家说的多个抽象类的抽象就是接口. interfac ...

  3. Java从入门到放弃09---多态/向上转型/向下转型/多态内存图/抽象类/关键字abstract不能和哪些关键字共存/接口/类与类,类与接口,接口与接口的关系/抽象类与接口的区别

    Java从入门到放弃09-多态/向上转型/向下转型/多态内存图/抽象类/关键字abstract不能和哪些关键字共存/接口/类与类,类与接口,接口与接口的关系/抽象类与接口的区别 01 多态 多态指的是 ...

  4. java中与接口类,Java中类与类、类与接口、接口与接口的关系

    类与类 继承关系,只能单继承,但是可以多层继承. 类与接口 实现关系,可以单实现,也可以多实现,并且可以在继承一个类的同时实现多个接口. 接口与接口 继承关系,可以单继承,也可以多继承. 附:代码举例 ...

  5. 初识java类的接口实现

    初识java类的接口实现 如果两个类之间不存在继承关系,且两个类都想实现同一个接口,两个类都必须实现接口中全部方法,否则报语法错误 如果两个类之间存在继承关系也想实现同一个接口,父类如果实现了某个接口 ...

  6. (邓爱萍)Java抽象 继承 接口

    包 Javac –d package addpack ; public class IntegerAdd {     public int addInt(int a,int b)            ...

  7. JAVA基础14-Java接口及其使用

    文章目录 接口语法和特点 接口语法和特点 接口语法: Interface 接口名{ //共有静态常量.抽象方法 } 接口的特点: 接口中只能存放静态常量和抽象方法,java接口是对功能的拓展. 通过实 ...

  8. Java中实现接口与继承的区别

    ** Java中实现接口与继承的区别 ** 首先,先来了解一下什么是接口和继承.接口一般是使用interface来定义的.接口定义同类的定义类似,分为接口的声明和接口体,其中接口体由常量定义和方法定义 ...

  9. 使用java+TestNG进行接口回归测试

    TestNG是一个开源自动化测试框架,TestNG表示下一代(Next Generation的首字母). TestNG类似于JUnit(特别是JUnit 4),但它不是JUnit框架的扩展,相较于Ju ...

最新文章

  1. TOMACAT源码解析
  2. 《漫画算法》源码整理-4 大顶堆 小顶堆 优先队列
  3. Py之PIL:不一样的PS之利用PIL库的img.paste方法实现合成刘若英导演电影《后来的我们》海报设计
  4. python包和目录有什么不同_python模块和包的区别
  5. 线性表:3.链表,单链表详解与C语言实现
  6. Paradigm 已对 NFT 艺术品铸造和收藏协议 ZORA 进行投资
  7. 在server 2008R2组策略所有域计算机防火墙都处于更关闭状态
  8. 好用的代理服务器工具_secscanauthcheck越权检查工具
  9. 影视后期制作(Ae)
  10. 机器视觉应该先看什么书?
  11. C#上位机与三菱PLC通讯的实现步骤(图文)
  12. 2022年信息安全工程师考试知识点:计算机网络基本知识
  13. gulp_for_qa
  14. python click模块参数处理详解
  15. 春节快过腻了?不妨关心下太空探索
  16. Abbkine 彩色预染蛋白质Marker (10-180 kDa)方案
  17. Intellij IDEA 添加项目依赖
  18. 平面几何中的几个著名定理
  19. JAVA JDK8的介绍下载和安装(附网盘地址)
  20. export和import

热门文章

  1. (翻译)邀请好友模式(Invite friends)
  2. 子查询中all与any的区别
  3. ubuntu 3D桌面搞定了
  4. office版本比较
  5. Thinkpad 笔记本散热风扇声音大解决办法
  6. natapp邀请码,新用户购买域名可以享受9折优惠
  7. 使用UltraISO制作U盘安装盘的方法
  8. python中用plt画图
  9. 字符串解码(猿辅导笔试题数箱子)
  10. flutter开发核心 Future/stream/bloc