簡介
眾所周知,Java語言是面向對象的,那如果讓你用一行代碼體現出來呢?
如果你能自己讀懂System.out.println(),就真正了解了Java面向對象編程的含義。
面向對象編程即創建了對象,然后對象調用方法。
System.out.println("hello world"); hello world
分析
1、System源碼分析,System是java.lang包的一個類
2、out源碼分析
①out是System里面的一個靜態數據成員,而且這個成員是java.io.PrintStream類的引用
②out已經存在了且用Static修飾了,所以可以直接使用類名+屬性名的方式調用,也就是System.out。
3、println()分析
①println()就是java.io.PrintStream類里的一個方法,它的作用是向控制台輸出信息。
②里面有很多重載的方法,這樣就保證了任意的東西都可以輸出
總結就是,類調用對象,對象調用方法
拓展
1、System.out.print();與System.out.println(); 的區別
public class Test { public static void main(String[] args) { // 不換行 System.out.print("a"); System.out.print("b"); // 換行 System.out.println("c"); System.out.println("d"); } }
2、字符數組輸出
public class Test { 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); } }
這是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的形式。
本文部分參考鏈接:今日頭條【阿博的Java棧】https://www.toutiao.com/i6817721442277261835