Java method call chaining in static context

血红的双手。 提交于 2019-12-05 05:42:29

Yes. Like this (untested).

public class Static {

  private final static Static INSTANCE = new Static();

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

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

You can now have code like.

Static.doStuff(...).doOtherStuff(...).doStuff(...);

I would recommend against it though.

This is called method-chaining.

To do it, you always need an instantiated object. So, sorry, but you cannot do it in a static context as there is no object associated with that.

You want the builder pattern on a static? No. Best to convert your statics to instances.

Do you want this ?

public class AppendOperation() {
    private static StringBuilder sb =  new StringBuilder(); 

    public static StringBuilder append(String s){
        return sb.append(s);
    }

    public static void main(String... args){

         System.out.println(AppendOperation.append("ada").append("dsa").append("asd"));

    }

}

maybe I don't understand the question (static context) correctly

do you mean this?

static {

} //of course you can do this, too

if not all above, you can't do without any static method because append() is not static

As said here You can simply return null. For example:

public class MyClass {

    public static MyClass myMethod() {
        doSomething();
        return null;
    }
}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!