当我们在定义接口时,可能会希望在接口中提供一些默认实现,这样我们在实现该接口时可以选择性地重写它们,也可以直接继承实现。Java 8 引入了接口默认方法和静态方法来实现这个目的。
接口默认方法
接口默认方法是 Java 8 新增的特性,可以直接在接口中实现方法。这些方法会被自动继承到实现该接口的所有类上。
语法格式:
public interface 接口名称 {
public default 返回值类型 方法名称(参数列表) {
// 方法体
}
}
下面是一个示例:
public interface Vehicle {
default void print() {
System.out.println("I am a vehicle!");
}
}
public class Car implements Vehicle {
public static void main(String[] args) {
Car car = new Car();
car.print(); // 输出:I am a vehicle!
}
}
在上面的示例中,我们在 Vehicle
接口中定义了一个默认方法 print()
,它会被自动继承到 Car
类上。在 Car
类中,我们只需要调用 print()
方法即可。
接口静态方法
接口静态方法是 Java 8 新增的另一个特性,可以定义一个静态方法,该方法不依赖于实现接口的任何实例。这些方法可以直接通过接口名称来调用。
语法格式:
public interface 接口名称 {
public static 返回值类型 方法名称(参数列表) {
// 方法体
}
}
下面是一个示例:
public interface Calculation {
public static int add(int a, int b) {
return a + b;
}
}
public class Test {
public static void main(String[] args) {
int result = Calculation.add(5, 3);
System.out.println(result); // 输出:8
}
}
在上面的示例中,我们在 Calculation
接口中定义了一个静态方法 add()
,可以直接通过接口名称来调用该方法。
总结一下,Java 8 引入了接口默认方法和静态方法来提供接口的默认实现,大大提高了接口的易用性和灵活性。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java8 接口默认方法和静态方法 - Python技术站