[英]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()
函數必須是一個靜態成員函數嗎?
不, println
是PrintStream
類的實例方法。 這是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()
不, println
是PrintStream
的實例方法,您可以在PrintStream
的Javadoc中看到。
void java.io.PrintStream.println(String x)
System.out
為您提供了對其執行println
的PrintStream
實例的引用。
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.