前言
之前春招面試我被問及,你如何理解System.out.println() ?
今天我就來給大家分享一下!
學了這麼久的面向對象編程,那如何用一行代碼體現呢?
如果你能自己讀懂System.out.println(),就真正瞭解了Java面向對象編程的含義
面向對象編程即創建了對象,所有的事情讓對象幫親力親為(即對象調用方法)
<code>System.out.println("hello world");
/<code>
<code>hello world
Process finished with exit code 0
/<code>
首先分析System源碼
System就是Java自定義的一個類
out源碼分析
①out是System裡面的一個靜態數據成員,而且這個成員是java.io.PrintStream類的引用
②out已經存在了且用Static修飾了,所以可以直接使用類名+屬性名的方式調用,也就是System.out。
println分析
①println()就是java.io.PrintStream類裡的一個方法,它的作用是向控制檯輸出信息。
②裡面有很多重載的方法,這樣就保證了任意的東西都可以輸出
小結下來就是:類調用對象,對象調用方法
拓展知識點 :
1.System.out.print();與System.out.println(); 的區別
- 2.字符數組輸出面試案例
<code>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);
}
}
/<code>
<code>xy
ch1=[C@74a14482
/<code>
這是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的形式。
詳細理解 逐步進入之後,發現調用toString() ,我們可以進行重寫。
那麼,今天的內容分享到這裡就結束了,更多面試信息和相關資料獲取! 請關注本頭條號,
後臺私信:資料
即可獲取更多一線大廠面試內容。
閱讀更多 阿博的Java技術棧 的文章