有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

系统出来println这个方法在Java中是链式的吗?

我想知道下面的Java代码:

“System.out.println”。我是对的:

“系统”是一个静态类。“.out”是类“System”的一种方法。这是我有点困惑的“.println”--这是一个什么类/对象的方法

另外,这个概念被称为“方法链接”吗

谢谢

女朋友


共 (3) 个答案

  1. # 2 楼答案

    System有一个PrintStream类型的成员变量'out'。这不是一种方法

    PrintStream有一个println(String)方法

    所以不,不是方法链

    据我所知,方法链接只是返回这个,您可以在其中返回void,允许在一条语句中多次调用方法,也许是DSL的一个更自然的表达式。您可以在StringBuilder的append(String)方法中看到它的作用

    StringBuilder builder = new StringBuilder()
      .append("I am a ")
      .append("String")
      .append("Builder");
    

    如果你想了解更多,Martin Fowler谈到了方法链接here

  2. # 3 楼答案

    不,这不是方法链。关于^{}是一个类(只是一个常规类,而不是“静态的”——只有内部类可以是静态的)的说法是对的,但是^{}是类的静态字段(类型为java.io.PrintStream),只有^{}PrintStream的方法

    这是方法链接的一个示例:

    String s = "Long String ".toUpperCase().substring(4).trim()