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