簡體   English   中英

'println()'是PrintStream類或實例成員函數的靜態成員函數嗎?

[英]Is 'println()' a static member function of PrintStream class or instance member function?

這里:

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

println()PrintStream類或實例成員函數的靜態成員函數嗎?

正如我的老師所說:當類名后面有點( . )時,我們肯定會嘗試訪問該類的靜態成員。

這里是靜態引用變量,它引用了PrintStream類。 所以我的問題是println()函數必須是一個靜態成員函數嗎?

不, printlnPrintStream類的實例方法。 這是out那是一個靜態成員System類。

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修飾符)。

println()是聲明為的PrintStream類的實例方法

public void println()

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

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

System.out為您提供了對其執行printlnPrintStream實例的引用。

println()PrintStream類的非靜態 (實例)成員函數。

out是對System類中PrintStream類型的對象的靜態引用。

out是一個引用, out.prinln()指的是out的實例方法。 在這種情況下, out也是另一個類的靜態成員,但這對println()方法沒有任何影響

這是一個實例方法。

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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM