字节一面,面试官拿 System.out.println() 考了我半个小时?我傻了
前言
之前春招面試我被問(wèn)及,你如何理解System.out.println() ?
今天我就來(lái)給大家分享一下!
學(xué)了這么久的面向?qū)ο缶幊?#xff0c;那如何用一行代碼體現(xiàn)呢?
如果你能自己讀懂System.out.println(),就真正了解了Java面向?qū)ο缶幊痰暮x
面向?qū)ο缶幊碳磩?chuàng)建了對(duì)象,所有的事情讓對(duì)象幫親力親為(即對(duì)象調(diào)用方法)
System.out.println("hello?world"); hello?worldProcess?finished?with?exit?code?0首先分析System源碼
System就是Java自定義的一個(gè)類
out源碼分析
①out是System里面的一個(gè)靜態(tài)數(shù)據(jù)成員,而且這個(gè)成員是java.io.PrintStream類的引用
②out已經(jīng)存在了且用Static修飾了,所以可以直接使用類名+屬性名的方式調(diào)用,也就是System.out。
println分析
①println()就是java.io.PrintStream類里的一個(gè)方法,它的作用是向控制臺(tái)輸出信息。
②里面有很多重載的方法,這樣就保證了任意的東西都可以輸出
小結(jié)下來(lái)就是:類調(diào)用對(duì)象,對(duì)象調(diào)用方法
拓展知識(shí)點(diǎn)
1、System.out.print();與System.out.println(); 的區(qū)別
2、字符數(shù)組輸出面試案例
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會(huì)自動(dòng)調(diào)用輸入?yún)?shù)的toString方法,輸出內(nèi)容時(shí)toString方法的返回值。
println的參數(shù)分基本類型,一個(gè)是String 另一個(gè)是Object類型。
System.out.println(ch) println()自動(dòng)調(diào)用println(char[] ) 也就是Object類型 所以輸出xy
然而System.out.println(“ch=”+ch) "+"是字符串連接符,自動(dòng)調(diào)用println(String ),也就是String類型 輸出的是xxx@xxxx的形式。
詳細(xì)理解 逐步進(jìn)入之后,發(fā)現(xiàn)調(diào)用toString() ,我們可以進(jìn)行重寫(xiě)。
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的字节一面,面试官拿 System.out.println() 考了我半个小时?我傻了的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 手把手教你,Java如何实现二维码?【附
- 下一篇: Spring Boot 中 @Enabl