简介
众所周知,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