📅  最后修改于: 2023-12-03 15:32:03.491000             🧑  作者: Mango
在Java中,接口是一种特殊的抽象类,它只定义了方法的签名而没有实现。接口可以被类实现,实现类必须实现接口中定义的所有方法。因为接口没有实现,所以它的方法都是抽象的。但是,从Java 8开始,接口中也可以有默认方法和静态方法。默认方法有默认实现,实现类可以不实现它,而是使用默认实现。静态方法是接口的类方法,可以直接通过接口名称调用。
// 定义一个接口
public interface MyInterface {
// 定义一个抽象方法
void abstractMethod();
// 定义一个默认方法
default void defaultMethod() {
System.out.println("This is a default method.");
}
// 定义一个静态方法
static void staticMethod() {
System.out.println("This is a static method.");
}
}
// 实现接口
public class MyClass implements MyInterface {
// 实现抽象方法
public void abstractMethod() {
System.out.println("This is a abstract method.");
}
// 使用默认方法
public void useDefaultMethod() {
defaultMethod();
}
}
// 调用静态方法
MyInterface.staticMethod();
Java接口中的所有方法默认都是抽象的,但是从Java 8开始,接口中也可以拥有默认方法和静态方法。如果一个类实现了一个接口,它必须实现接口中的所有抽象方法,但不必实现默认和静态方法。