我是一个C\C++程序员,只是从Java开始。

我遇到了这种有效的Java代码段语法,我了解它的作用,但我不了解该语法的逻辑。

object x = new object
            .SetContent(aaa)
            .SetIcon(bbb)
            .SetText(ccc);

我得到等效的C++代码是:
object* x = new object;

x->SetContent(aaa);
x->SetIcon(bbb);
x->SetText(ccc);

谁能向我解释Java语法中的逻辑?
这有点像Visual Basic的With语句吗?

附言
没关系,但是Java代码段来自Android程序。

最佳答案

这些链调用是可能的,因为每个setter方法都返回对this的引用:

public object SetContent(final String input){
    this.aaa = input;
    return this;
}

07-25 22:53
查看更多