Java教程

Java8新特性系列-默认方法

本文主要是介绍Java8新特性系列-默认方法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

Java8 Interface Default and Static Methods

原文连接:Java8新特性系列-默认方法 – 微爱博客

在 Java 8 之前,接口只能有公共抽象方法。 如果不强制所有实现类创建新方法的实现,就不可能向现有接口添加新功能,也不可能创建具有实现的接口方法。

从 Java 8 开始,接口可以具有静态和默认方法,尽管在接口中声明了这些方法,但它们具有已定义的行为。

静态方法

假如一个接口有如下的方法

static String producer() {
    return "N&F Vehicles";
}

静态 producer() 方法只能通过接口和在接口内部使用。 它不能被实现类覆盖。 要在接口之外调用它,应使用静态方法调用的标准方法:

String producer = Vehicle.producer();

默认方法

默认方法是使用新的 default 关键字声明的。 这些可以通过实现类的实例访问,并且可以被覆盖。

让我们为 Vehicle 接口添加一个默认方法,该方法也会调用该接口的静态方法:

default String getOverview() {
    return "ATV made by " + producer();
}

假设这个接口是由类 VehicleImpl 实现的。 为了执行默认方法,应创建此类的实例:

Vehicle vehicle = new VehicleImpl();
String overview = vehicle.getOverview();

 

这篇关于Java8新特性系列-默认方法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!