System.out.println();
通过java的标识符规范对这句话进入理解。
System:
首字母大写,显然是类名。它的全称是java.lang.System;
println():代表方法名
out:是System类中的公开静态常量,
因为可以在任何地方访问,所以是公开的;有因为是通过类名直接访问,所以是静态的。
举例说明:
class System{
public static final XXX out;
}
out是一个常量,所以前面一定会有一个类型,很显然它不是int double等,所以它是一个对象,前面的XXX是一个类名。
故:System.out 就是引用了这个对象,紧跟着System.out.println();就是对这个对象调用了println()方法
关键是这个Xxx是什么,是对象就要有类,这个类名是什么是分析的关键。
查阅Api可知:
在Java中的long包里有一个System类,System中有一个属性叫out,打开可查阅:
public static final PrintStream out;
得出结果属性名是out 类名是PrintStream
所以得出结论:
out是System中的公开静态常量,PrintStream类的对象。故调用的println()这个方法是来自PrintlnStream类中,
特别的,按照java的标识符规范,out首字母应该大写,但是命名这个语法时,java的标识符规范做出这个声明,所以为小写沿用至今。