來源:cnblogs.com/blessing2022/p/16622118.html
去年秋招面試我被問及:
你如何理解 System.out.println()?
學了這么久的面向物件編程,那如何用一行代碼體現呢?
如果你能自己讀懂System.out.println(),就真正了解了Java面向物件編程的含義,
面向物件編程即創建了物件,所有的事情讓物件幫親力親為(即物件呼叫方法)
System.out.println("hello world");
hello world
Process finished with exit code 0
首先分析System原始碼:
System就是Java自定義的一個類

這也是 IO 方面的面試題,如果你近期準備面試跳槽,建議在Java面試庫小程式在線刷題,幾乎覆寫了所有主流技術面試題,
out原始碼分析
①out是System里面的一個靜態資料成員,而且這個成員是java.io.PrintStream類的參考

②out已經存在了且用Static修飾了,所以可以直接使用類名+屬性名的方式呼叫,也就是System.out,

println分析
①println()就是java.io.PrintStream類里的一個方法,它的作用是向控制臺輸出資訊,

②里面有很多多載的方法,這樣就保證了任意的東西都可以輸出

小結下來就是:類呼叫物件,物件呼叫方法
拓展知識點 :
1.System.out.print();與System.out.println();的區別

2.字符陣列輸出面試案例
public class Demo {
public static void main(String[] args) {
char[] ch=new char[]{'x','y'};
System.out.println(ch);
char[] ch1=new char[]{'x','y'};
System.out.println("ch1="+ch1);
}
}
xy
ch1=[C@74a14482
這是println()方法的多載,java列印輸出System.out.println會自動呼叫輸入引數的toString方法,輸出內容時toString方法的回傳值,
println的引數分基本型別,一個是String 另一個是Object型別,
System.out.println(ch),println()自動呼叫println(char[]) 也就是Object型別 所以輸出xy
然而System.out.println(“ch=”+ch) "+"是字串連接符,自動呼叫println(String),也就是String型別 輸出的是xxx@xxxx的形式,

近期熱文推薦:
1.1,000+ 道 Java面試題及答案整理(2022最新版)
2.勁爆!Java 協程要來了,,,
3.Spring Boot 2.x 教程,太全了!
4.別再寫滿屏的爆爆爆炸類了,試試裝飾器模式,這才是優雅的方式!!
5.《Java開發手冊(嵩山版)》最新發布,速速下載!
覺得不錯,別忘了隨手點贊+轉發哦!
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/548402.html
標籤:其他
上一篇:Redis高頻40問
