【问题标题】:Understanding Java notation理解 Java 表示法
【发布时间】:2014-02-05 06:40:40
【问题描述】:

我正在尝试在 Android 中使用对话框。在这个过程中,我遇到了如下代码行:

alertDialogBuilder
            .setMessage("Click yes to exit!")
            .setCancelable(false)
            .setPositiveButton("Yes",new...

作为一个老 C++ 程序员,这种表示法对我来说有点奇怪。是不是和,

alertDialogBuilder.setMessage("Click yes to exit!");
alertDialogBuilder.setCancelable(false);
alertDialogBuilder.setPositiveButton("Yes",new...

如果是这样,这种表示法是 Java 的一部分还是 Android 编程独有的?这个符号(或方法)的名称是什么?

【问题讨论】:

标签: java android


【解决方案1】:

这个成语称为method chaining,它并不特定于Java 或Android。诀窍是让原本会返回 void 的方法返回对 this 的引用,从而允许对同一对象进行长链的方法调用。

这个成语在builder pattern 中使用时非常有用,就像在您的示例中一样。它也是设计fluent interfaces时的构建块。

【讨论】:

  • 具体来说这是Java中的Builder模式。
【解决方案2】:

你可以对 C++ 做同样的事情,也可以只返回相同的对象(this 指针)。 所以最终你会在返回的 this 指针上调用 next 函数。

在Builder设计模式中使用!

【讨论】:

    【解决方案3】:

    其实代码是:

    alertDialogBuilder.setMessage("Click yes to exit!").setCancelable(false).setPositiveButton("Yes",new...
    

    也许格式让你想知道。正如您所看到的,并且正如其他答案所提到的,setMessage() 显然返回了alertDialogBuilder,从而可以在其上调用另一个方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-04-09
      • 1970-01-01
      • 1970-01-01
      • 2014-03-07
      • 1970-01-01
      • 2023-01-02
      • 2011-07-08
      相关资源
      最近更新 更多