admin 管理员组

文章数量: 887021


2024年1月11日发(作者:复制链接下载)

java8 接口方法

Java 8引入了一个新的特性,允许在接口中定义非抽象方法(也称为默认方法或扩展方法)。这使得我们可以在不影响其他实现类的情况下向现有接口添加方法。

下面是定义接口方法的示例:

```java。

interface MyInterface 。

void doSomething(); // 抽象方法。

default void doSomethingElse() { // 默认方法。

n("Doing something else.");。

}。

}。

```。

在上面的示例中,我们定义了一个名为`MyInterface`的接口,并在其中定义了两个方法:一个抽象方法`doSomething()`和一个默认方法`doSomethingElse()`。

默认方法的语法类似于普通的实例方法,但是它们有一个`default`关键字,这使得编译器知道这个方法是默认方法。

我们可以通过直接调用接口的默认方法或重写方法来使用接口中的默认方法:

```java。

class MyClass implements MyInterface 。

public void doSomething() 。

n("Doing something.");。

}。

//不必实现默认方法。

}。

MyInterface obj = new MyClass();。

thing(); // 打印 "Doing something."。

thingElse(); // 打印 "Doing something else."。

```。

在上面的示例中,我们定义了`MyClass`类实现`MyInterface`接口,并提供了`doSomething()`方法的具体实现。我们没有重写默认方法`doSomethingElse()`,因此该接口的默认实现在`MyClass`中也可用。

请注意,如果一个类同时实现了多个接口,那么如果这些接口都有相同的默认方法,则必须重写该方法以解决冲突。我们可以通过使用`super.()`来调用指定接口的默认方法,也可以完全忽略默认方法的实现。


本文标签: 方法 默认 接口 实现 定义