你真的懂System.out.println()嗎?


簡介

眾所周知,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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM