System.out简单解释
生活随笔
收集整理的這篇文章主要介紹了
System.out简单解释
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
out變量聲明就是PrintStream類
?
先附上System類中,out變量源碼:
public final static PrintStream out = null;拋出疑問?最終靜態變量賦值null,最后是如何賦值為PrintStream類的或者說指向PrintStream!
?
當然,對于openjdk來說,是由點區別的,它里面是直接out = new NullPrintStream();其實也是null
?
深入System源碼在方法 initializeSystemClass()中揭曉了這一切
?
疑惑解開,setOut0這個方法就是設置out變量,至于為什么可以改變final static變量,因為改變final可以通過c來操作改變,或者通過反射暴力操作改變。
initializeSystemClass()方法中,調用的setOut0()方法,用來設置out變量,其中setOut0()是c寫的,它就是用來改變out的指向,用來初始化out變量的。
?
?
?
?
?
?
總結
以上是生活随笔為你收集整理的System.out简单解释的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LM317,线性稳压电源总结
- 下一篇: 【Multisim仿真】LM317-33