System.out.println()的深入理解
文章参考了公众号:Java面试那些事儿
面向对象编程即创建了对象,所有的事情让对象帮忙操作,即对象调用方法
System.out.println("hello world");
输出
hello world
Process finished with exit code()
一、去参考System源码
可以看出来System是java自定义的一个类。
二、再去看out
静态修饰的成员,且是java.io.PrintSteam类的引用;因为已经是static修饰,所以可以直接类名+属性名的方式来调用,也就是System.out。
三、再看println
看到有很多种重载的方法println,且也是在java.io.PrintStream类里的方法,看了参考文档,说它的作用是向控制台输出信息,因为有多种重载的方法println,也保证了任意的东西都可以输出。
小结就是:类调用对象,对象调用方法,System调用out,out调用println。
四、拓展
1.System.out.print()和System.out.println()区别
已经看的出来了,print不换行,而println是换行的;(那段标红不用管哈,是我的环境变量,你们不会有的)
2.字符数组输出案例
这是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(),我们可以进行重写。