我正在查看 Java 中内置的一个接口,并注意到它有返回其自己类型的对象的方法。
具体来说,IntStreamrange接口有一个返回 IntStream 对象(即实现 IntStream 的某个对象)的方法。该方法只需导入接口即可使用,如下:
import java.util.stream.IntStream;
class Foo {
public static void main(String[] args) {
IntStream s = IntStream.range(0,10);
System.out.println(s.average());
}
}
Run Code Online (Sandbox Code Playgroud)
因此,似乎“在幕后”界面正在为我选择一个实现,并允许我使用它。这究竟是如何运作的?
至关重要的是,我将如何做同样的事情?如果我想导出一个可以实例化其自己类型的对象的接口,以便用户可以简单地导入我的接口并拖动我的实现,我该怎么做?或者这只是Java内置接口的特殊特权?