java中System中的out靜態成員是在哪里被初始化的?
System類有一個靜態方法:initializeSystemClass,所有的初始化工作都在這個方法里完成。具體代碼如下:
紅框里的代碼,就是我們熟悉的標準輸入輸出和錯誤輸出的初始化工作了。可以看到,將FileDescriptor.out包裝為FileOutputStream對象,然后賦值給System.out,這就是它的初始化過程了。
希望能解答題主的疑惑。歡迎大家批評指正,如果喜歡我的回答,不要忘記點贊和關注,謝謝!
java中System中的out靜態成員是在哪里被初始化的?
System類有一個靜態方法:initializeSystemClass,所有的初始化工作都在這個方法里完成。具體代碼如下:
紅框里的代碼,就是我們熟悉的標準輸入輸出和錯誤輸出的初始化工作了。可以看到,將FileDescriptor.out包裝為FileOutputStream對象,然后賦值給System.out,這就是它的初始化過程了。
希望能解答題主的疑惑。歡迎大家批評指正,如果喜歡我的回答,不要忘記點贊和關注,謝謝!