Java 是否允许使用点运算符(连续方法调用而不是?点运算符调用的用法是什么

Java 是否允许使用点运算符(连续方法调用而不是?点运算符调用的用法是什么,java,Java,底部成员方法连续使用“.”运算符调用成员“set”方法作为返回对象的方式 我以前从未遇到过这种语法 这是有效的Java语法吗?这种链接称为什么(如何查找这种语法用法?) 这对于这样的方法是可能的,它们在被调用时返回类的实例: class Person { public Person setName(String a) { return this; } public Person setAge(int age) { return th

底部成员方法连续使用“.”运算符调用成员“set”方法作为返回对象的方式

我以前从未遇到过这种语法 这是有效的Java语法吗?这种链接称为什么(如何查找这种语法用法?)


这对于这样的方法是可能的,它们在被调用时返回类的实例:

class Person {

    public Person setName(String a) {

        return this;
    }

    public Person setAge(int age) {

        return this;
    }

}
像这样使用它:

Person person = new Person();
person.setName("abc").setAge(19);

这可能是因为您有变量
person
,您使用
setName
设置名称,但是
setName
返回该类的实例,因此您可以对返回的实例调用
setAge
。它不是“点运算符”,只是链接方法调用。

Builder模式s方法链接。它构造一个新对象,调用对象上的方法,调用第一个方法返回的方法,等等。注意:当在多行上链接时,通常会缩进并在行的开头加上点,以向读者清楚地表明这是语句的延续,并且为了更好或更好更糟糕的是,标准JavaBean设置器是无效的(不返回
this
),因此这种样式通常只在构建器中出现。
class Person {

    public Person setName(String a) {

        return this;
    }

    public Person setAge(int age) {

        return this;
    }

}
Person person = new Person();
person.setName("abc").setAge(19);