📅  最后修改于: 2023-12-03 15:01:34.870000             🧑  作者: Mango
在 Java 编程语言中,接口(Interface)是一种抽象的参考类型。它是一组抽象方法的集合,没有实现任何方法的代码。Java 接口可用于实现多继承、实现多态性和定义规范等。
接口使用 interface
关键字来定义。以下是一个简单的接口示例:
public interface MyInterface {
void myMethod(); // 抽象方法
}
在接口中,我们可以声明方法但不实现它们。接口中的方法默认为公共(public)和抽象(abstract),可以省略这些关键字。接口也可以包含常量和默认方法的定义。
要实现接口,类需要使用 implements
关键字,然后实现接口中的所有方法。一个类可以实现多个接口。以下示例展示了一个类如何实现接口:
public class MyClass implements MyInterface {
public void myMethod() {
// 方法实现
}
}
在实现接口时,必须提供接口中的所有方法的实现,否则类将被标记为抽象类。
Java 接口允许多继承,一个类可以实现多个接口。这使得接口成为实现多态性的强大工具。
public interface InterfaceA {
void methodA();
}
public interface InterfaceB {
void methodB();
}
public class MyClass implements InterfaceA, InterfaceB {
public void methodA() {
// 实现接口 A 的方法
}
public void methodB() {
// 实现接口 B 的方法
}
}
在上面的示例中,MyClass
类同时实现了 InterfaceA
和 InterfaceB
接口,必须实现两个接口中的所有方法。
Java 8 引入了接口的默认方法。默认方法是在接口中提供的方法实现,可以具有方法体。默认方法在实现类中可以直接使用,也可以被实现类覆盖。
public interface MyInterface {
void myMethod(); // 抽象方法
default void myDefaultMethod() {
// 默认方法的实现
}
}
public class MyClass implements MyInterface {
public void myMethod() {
// 方法实现
}
// 默认方法可以被覆盖
public void myDefaultMethod() {
// 覆盖默认方法的实现
}
}
Java 8 也引入了接口的静态方法。静态方法在接口中定义,可以直接通过接口名调用,无需实例化接口。
public interface MyInterface {
void myMethod(); // 抽象方法
default void myDefaultMethod() {
// 默认方法的实现
}
static void myStaticMethod() {
// 静态方法的实现
}
}
MyInterface.myStaticMethod(); // 调用接口的静态方法
接口是 Java 中实现多继承和多态性的重要工具。通过接口,可以定义规范,实现松耦合的设计。接口还提供了默认方法和静态方法的支持,使得接口更加灵活和易于使用。
【参考链接】