Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 作为接口,我们如何为供应商创建实例?_Java_Lambda_Supplier - Fatal编程技术网

Java 作为接口,我们如何为供应商创建实例?

Java 作为接口,我们如何为供应商创建实例?,java,lambda,supplier,Java,Lambda,Supplier,我试图理解供应商界面。我知道,如果我们调用它的get()方法,它可以返回一个对象。但是,在以下示例中: public class SupplierExample { public static void main(String[] args) { Supplier<String> s = new Supplier<String>() { public String get() { retur

我试图理解供应商界面。我知道,如果我们调用它的get()方法,它可以返回一个对象。但是,在以下示例中:

public class SupplierExample {

    public static void main(String[] args) {
        Supplier<String> s = new Supplier<String>() {
            public String get() {
                return "test";
            }
        };

        System.out.println(s.get());
    }
}
公共类供应商示例{
公共静态void main(字符串[]args){
供应商s=新供应商(){
公共字符串get(){
返回“测试”;
}
};
System.out.println(s.get());
}
}

我无法理解如何从接口实例化一个对象。请注意。

此代码段包含一个匿名类实例,它实现了
供应商
接口

它通过以下方式实现该接口的唯一方法:

public String get() {
    return "test";
}
返回
字符串
“test”


因此,
s.get()
返回
字符串
“test”。

您实例化了一个实现Supplier接口的匿名类。请注意,您还可以使用lambdas和方法引用来实例化接口的实例,如
Supplier
。例如:
suppliers=()->“test”,相当紧凑。Eran,这意味着这是一个匿名的内部类语法,我们必须在新操作符之后写接口名?