默认方法

java 8 允许你在接口中添加非抽象方法 , 这些方法必须定义为 default 方法 , java 8 引入默认方法是为了使用 lambda 函数表达式 .

default 方法使您能够向库的接口添加新功能,并确保与旧版本的这些接口编写的代码的二进制兼容性 。

用一个例子去理解:

    public interface Moveable {
            default void move(){
                System.out.println("I am moving");
            }
    }

Moveable 接口定义了一个 move() 方法并且提供了默认的实现 . 如果任意一个 class 实现这个 接口都没有必要去实现这个 move() 方法,能够直接使用 instance.move() 进行调用 .

eg:

public class Animal implements Moveable{
    public static void main(String[] args){
        Animal tiger = new Animal();
        tiger.move();
    }
}
Output: I am moving

如果该 class 想要自定义一个 move() 也能提供自定义的实现去覆写这个 move 方法 .

原文 :https://howtodoinjava.com/java-8-tutorial/

read more : https://howtodoinjava.com/java-8/java-8-tutorial-internal-vs-external-iteration/

results matching ""

    No results matching ""