无法在同一个类的对象上调用类CompletableFuture的静态方法supplyAsync! CompletableFuture c=new CompletableFutre; c 失败

问题描述 投票:0回答:1

在JAVA中,

CompletableFuture
是一个包含名为
supplyAsync()
的静态方法的类,我可以使用
CompletableFuture.supplyAsync()
模式调用此静态方法,但我无法在同一类CompletableFuture的对象上调用静态方法。

示例:

CompletableFuture c = new CompletableFuture();
c.supplyAsync() //->doesnt work cant recognize the method supplyAsync!

我的疑问是为什么我们不能在同一个类的对象上调用静态方法?

我期待在类

supplyAsync
的对象上调用
CompletableFuture
方法。

java class oop static-methods completable-future
1个回答
0
投票

我的疑问是为什么我们不能在同一个类的对象上调用静态方法?

这是错误的。您可以像这样在对象上调用静态方法,

assert 3 == new CompletableFuture<>()
          .supplyAsync(() -> 1)
          .thenCombine(CompletableFuture.supplyAsync(() -> 2), Integer::sum)
          .join();

但你不应该这样做。静态方法是类级别的方法,不应在对象上调用它们。

© www.soinside.com 2019 - 2024. All rights reserved.