5

我是编程新手,刚开始学习 Java。我很好奇 System.out 对象属于 System 类还是 PrintStream 类?

我参考了一本教科书,JAVA CONCEPTS 4/e。教科书指出,要在 System 类中使用 out 对象,您必须将其引用为,System.out但在本书后面它声明System.out属于类 PrintStream。

我搜索了 google 和 stackoverflow,但所有的答案都让我难以理解。

4

7 回答 7

7

“out”属于“System”类,属于“PrintStream”类型:)

于 2013-05-16T14:50:34.430 回答
4

这取决于您所说的“属于”是什么意思。

通常,人们会说out“属于”,System因为它是在该类中声明的静态字段。但请注意,这种归属概念只是一个弱概念,基本上仅暗示名称空间所有权。类与其静态字段之间没有特殊关系。

你也可以说out变量引用的对象属于PrintStream该类,因为它是该类(或子类)的一个实例,就像“beagle”属于“dog”类一样。这不是 Java 用语中的标准用法,但从类型理论的角度来看,它是完全合理的,其中类型实际上是一组值,并且值out“属于”类定义的类型/集PrintStream

于 2013-05-16T14:50:21.790 回答
2

System.out是一个PrintStream对象。它在System(因此,它是System)类中定义为:

static PrintStream out

请参阅:http ://docs.oracle.com/javase/6/docs/api/java/lang/System.html

于 2013-05-16T14:50:31.767 回答
1

它被定义为

static PrintStream  out 
于 2013-05-16T14:50:49.683 回答
1

outSystem中的静态字段。它的类型是PrintStream

于 2013-05-16T14:51:54.433 回答
0

Out 是类 System 中的静态引用变量,属于 PrintStream(class) 类型。

于 2013-05-16T15:02:48.610 回答
0

简单来说,“out”是“PrintStream”类型的“System”类中的一个字段(即对象)。

于 2013-05-16T14:51:31.773 回答