我是编程新手,刚开始学习 Java。我很好奇 System.out 对象属于 System 类还是 PrintStream 类?
我参考了一本教科书,JAVA CONCEPTS 4/e。教科书指出,要在 System 类中使用 out 对象,您必须将其引用为,System.out
但在本书后面它声明System.out
属于类 PrintStream。
我搜索了 google 和 stackoverflow,但所有的答案都让我难以理解。
我是编程新手,刚开始学习 Java。我很好奇 System.out 对象属于 System 类还是 PrintStream 类?
我参考了一本教科书,JAVA CONCEPTS 4/e。教科书指出,要在 System 类中使用 out 对象,您必须将其引用为,System.out
但在本书后面它声明System.out
属于类 PrintStream。
我搜索了 google 和 stackoverflow,但所有的答案都让我难以理解。
“out”属于“System”类,属于“PrintStream”类型:)
这取决于您所说的“属于”是什么意思。
通常,人们会说out
“属于”,System
因为它是在该类中声明的静态字段。但请注意,这种归属概念只是一个弱概念,基本上仅暗示名称空间所有权。类与其静态字段之间没有特殊关系。
你也可以说out
变量引用的对象属于PrintStream
该类,因为它是该类(或子类)的一个实例,就像“beagle”属于“dog”类一样。这不是 Java 用语中的标准用法,但从类型理论的角度来看,它是完全合理的,其中类型实际上是一组值,并且值out
“属于”类定义的类型/集PrintStream
。
System.out
是一个PrintStream
对象。它在System
(因此,它是System
)类中定义为:
static PrintStream out
请参阅:http ://docs.oracle.com/javase/6/docs/api/java/lang/System.html
它被定义为:
static PrintStream out
out
是System中的静态字段。它的类型是PrintStream。
Out 是类 System 中的静态引用变量,属于 PrintStream(class) 类型。
简单来说,“out”是“PrintStream”类型的“System”类中的一个字段(即对象)。