以下是所选内容的简要概括:

Java 接口概述

  • 定义: 接口是一种抽象类型,是抽象方法的集合。它使用 interface 关键字声明,但不能被实例化。
  • 用途: 一个类通过实现(implements)接口来继承其抽象方法,并必须实现接口中声明的所有方法(除非该类本身是抽象类)。
  • 与类的区别:
    • 接口不能实例化对象,没有构造方法。
    • 接口支持多继承,但类只能单继承。
    • 接口中的方法隐式为 public abstract
    • 接口中的变量隐式为 public static final
    • 注意: JDK 1.8 以后,接口可以包含带有方法体的 default 方法和 static 方法;JDK 1.9 以后,还可以有 private 方法。

接口的声明与实现

  • 声明语法: [可见度] interface 接口名称 [extends 其他的接口名] { ... }
  • 实现语法: ... implements 接口名称[, 其他接口名称, ...] ...
  • 实现规则:
    • 一个类可以实现多个接口。
    • 实现接口的类必须定义接口中的所有方法,否则该类必须声明为抽象类。
    • 重写接口方法时,要保持一致的方法名和兼容的返回值类型,并且不能抛出比接口方法更广的强制性异常。

接口的继承

  • 继承方式: 接口之间可以使用 extends 关键字进行继承。
  • 多继承: Java 中类不支持多继承,但接口允许多继承。一个接口可以同时继承多个父接口,并使用一次 extends 关键字。

标记接口

  • 定义: 标记接口是不包含任何方法和属性的接口,主要用于给类打上“标记”。
  • 作用:
    • 建立一个公共的父接口,例如 java.util.EventListener
    • 通过多态性向一个类添加数据类型,表明该类具有某种特定能力或属性。