静态上下文中的Java方法调用链接

Ark*_*aha 7 java static-methods method-chaining

在StringBuilder类中,我可以这样做:

StringBuilder sb = new StringBuilder();
sb.append( "asd").append(34);
Run Code Online (Sandbox Code Playgroud)

方法append返回StringBuilder实例,我可以连续调用它.

我的问题是可以在静态方法上下文中这样做吗?没有类实例

Tho*_*sen 13

是.像这样(未经测试).

public class Static {

  private final static Static INSTANCE = new Static();

  public static Static doStuff(...) {
     ...;
     return INSTANCE;
  }

  public static Static doOtherStuff() {
    ....
    return INSTANCE;
  }
}
Run Code Online (Sandbox Code Playgroud)

你现在可以拥有像这样的代码.

Static.doStuff(...).doOtherStuff(...).doStuff(...);
Run Code Online (Sandbox Code Playgroud)

我会建议反对它.


Kru*_*Kru 7

这称为方法链.

要做到这一点,你总是需要一个实例化的对象.所以,抱歉,但是你不能在静态上下文中这样做,因为没有与之关联的对象.