系统出来println这个方法在Java中是链式的吗?
我想知道下面的Java代码:
“System.out.println”。我是对的:
“系统”是一个静态类。“.out”是类“System”的一种方法。这是我有点困惑的“.println”--这是一个什么类/对象的方法
另外,这个概念被称为“方法链接”吗
谢谢
女朋友
你可以在下面搜索框中键入要查询的问题!
我想知道下面的Java代码:
“System.out.println”。我是对的:
“系统”是一个静态类。“.out”是类“System”的一种方法。这是我有点困惑的“.println”--这是一个什么类/对象的方法
另外,这个概念被称为“方法链接”吗
谢谢
女朋友
# 1 楼答案
out
不是一个方法——它是PrintStream
的一个实例,其中println
是一个方法见http://java.sun.com/j2se/1.5.0/docs/api/java/lang/System.html#out
# 2 楼答案
类System有一个PrintStream类型的成员变量'out'。这不是一种方法
类PrintStream有一个println(String)方法
所以不,不是方法链
据我所知,方法链接只是返回这个,您可以在其中返回void,允许在一条语句中多次调用方法,也许是DSL的一个更自然的表达式。您可以在StringBuilder的append(String)方法中看到它的作用
如果你想了解更多,Martin Fowler谈到了方法链接here
# 3 楼答案
不,这不是方法链。关于^{} 是一个类(只是一个常规类,而不是“静态的”——只有内部类可以是静态的)的说法是对的,但是^{} 是类的静态字段(类型为java.io.PrintStream),只有^{} 是
PrintStream
的方法这是方法链接的一个示例: