为了账号安全,请及时绑定邮箱和手机立即绑定

是否允许使用点运算符(连续方法调用而不是?点运算符的这种用法称为

是否允许使用点运算符(连续方法调用而不是?点运算符的这种用法称为

呼如林 2021-12-22 20:40:17
底部成员方法连续使用了“.”。运算符调用成员“set”方法作为返回对象的一种方式我以前没有遇到过这种语法,这是有效的 Java 语法吗?这个链接叫什么(我如何查找这样的语法用法?)?public class OrderItemModel {    private String restaurantId;    private String restaurantName;    private List<FoodModel> foods;    private List<Long> numOfFoods;    private OrderItemModel() {}. . .    public static OrderItemModel buildAdditional(ShoppingCartModel shoppingCart) {        return new OrderItemModel().        setRestaturantId(shoppingCart.getAdditionalRestaurantID()).        setRestaurntName(shoppingCart.getAdditionalRestaurantName()).        setFoods(shoppingCart.getAdditionalFoods()).        setNumOfFoods(shoppingCart.getNumOfAdditionalFood());    }
查看完整描述

1 回答

?
忽然笑

TA贡献1806条经验 获得超5个赞

使用这样的方法可以做到这一点,它们在调用时返回类的一个实例:


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返回的该实例等。它不称为“点运算符”,它只是链接方法调用。


查看完整回答
反对 回复 2021-12-22
  • 1 回答
  • 0 关注
  • 199 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信