System.out对象是属于类System还是类PrintStream?

时间:2013-05-16 14:48:50

标签: java class system.out

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

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

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

7 个答案:

答案 0 :(得分:6)

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

答案 1 :(得分:4)

这取决于你所说的“属于”。

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

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

答案 2 :(得分:1)

System.outPrintStream个对象。它在System中定义(因此,它是System)类的成员:

static PrintStream out

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

答案 3 :(得分:1)

defined as

static PrintStream  out 

答案 4 :(得分:1)

outstatic中的System字段。它的类型是PrintStream

答案 5 :(得分:0)

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

答案 6 :(得分:0)

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