'println()'是PrintStream类或实例成员函数的静态成员函数吗?

时间:2016-03-06 16:59:29

标签: java

下面:

System.out.println("Hi, this is frist program");

println()PrintStream类或实例成员函数的静态成员函数吗?

正如老师所说:当课名后有点(.)时,我们肯定会尝试访问该班的静态成员。

这里是静态引用变量,它引用了PrintStream类。所以我的问题是println()函数必须是一个静态成员函数吗?

4 个答案:

答案 0 :(得分:5)

不,printlnPrintStream类的实例方法。 outSystem类的静态成员。{/ p>

System.out
      ^--^
        static member of the class System, returns a PrintStream instance

System.out.println(...)
          ^------^
            instance method of PrintStream

out被声明为

public static final PrintStream out

在课程System中,因此它是一个静态成员,您可以使用System.out访问它(请final指代PrintStream修饰符。)

to this question是声明为

public void println() 类的实例方法
padding-top: 10%;

答案 1 :(得分:1)

不,printlnPrintStream的实例方法,您可以在PrintStream的Javadoc中看到。

  

void java.io.PrintStream.println(String x)

System.out为您提供了对PrintStream执行println的实例的引用。

答案 2 :(得分:0)

println()PrintStream类的非静态(实例)成员函数。

out是对PrintStream类内System类型对象的静态引用。

out是引用,out.prinln()是指out的实例方法。在这种情况下,out也是另一个类的静态成员,但这对println()方法没有任何影响

答案 3 :(得分:0)

它是一种实例方法。

System.out是对PrintStream实例的静态引用。 https://docs.oracle.com/javase/7/docs/api/java/lang/System.html#out 如果println https://docs.oracle.com/javase/7/docs/api/java/io/PrintStream.html#println(java.lang.String)

,这会提供多个重载版本