在JAVA中,
CompletableFuture
是一个包含名为supplyAsync()
的静态方法的类,我可以使用CompletableFuture.supplyAsync()
模式调用此静态方法,但我无法在同一类CompletableFuture的对象上调用静态方法。
示例:
CompletableFuture c = new CompletableFuture();
c.supplyAsync() //->doesnt work cant recognize the method supplyAsync!
我的疑问是为什么我们不能在同一个类的对象上调用静态方法?
我期待在类
supplyAsync
的对象上调用 CompletableFuture
方法。
我的疑问是为什么我们不能在同一个类的对象上调用静态方法?
这是错误的。您可以像这样在对象上调用静态方法,
assert 3 == new CompletableFuture<>()
.supplyAsync(() -> 1)
.thenCombine(CompletableFuture.supplyAsync(() -> 2), Integer::sum)
.join();
但你不应该这样做。静态方法是类级别的方法,不应在对象上调用它们。