main函数关键字分析:
对于 public static void main(String[] args)
public: 因为权限必须是最大的。
static: 不需要对象,直接用主函数所属类名调用即可。
void: 主函数没有具体的返回值。
main:函数名,不是关键字,只是一个jvm识别的固定的名字。
String[] arg: 这是主函数的参数列表,是一个数组类型的参数,而且元素都是字符串类型的。


最左边的"["表示数组;
“l”代表long ;
"java.lang.String",包名类型,传入的是一个字符串的类型;
"@15db9742"表示这个对象的哈希值。
Java虚拟机在调用主函数时,默认就给main方法传递了一个字符串类型的数组实体且不为空。创建字符串数组的长度是0。String[] args=new String[0];
主函数为什么带这样一个字符串数组参数呢?
可以在运行程序时,指定一些参数值,可以把需要传入的值传入主函数。为什么是String类型呢?是因为可以将字符串数据与其他数据相转换,更通用,任何数据都可以通过字符串形式的数据进行转换。

虚拟机将内容以空格进行分割,作为数组元素进行封装,传入args。此时长度为3,并且有内容。
args是可以更改的,形式参数arguments,可以改变数组名。
main函数是固定的格式,下图的main(String x),jvm将它识别成用户自定义函数。编译运行通过。

网友评论