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

Inf*_*ity 3 java

这里:

System.out.println("Hi, this is frist program");
Run Code Online (Sandbox Code Playgroud)

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

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

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

Tun*_*aki 5

不,printlnPrintStream该类的实例方法.这是该类out的静态成员System.

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

System.out.println(...)
          ^------^
            instance method of PrintStream
Run Code Online (Sandbox Code Playgroud)

out 被宣布为

public static final PrintStream out
Run Code Online (Sandbox Code Playgroud)

在课堂上System,所以它是一个静态的成员,你访问它System.out(指对这个问题final修改).

println()PrintStream声明为的类的实例方法

public void println()
Run Code Online (Sandbox Code Playgroud)