/*
public static void main(String[] args)
public:权限修饰符,权限最大。
static:随着MianDemo类的加载而加载,消失而消失。
void: 没有返回值
main: 函数名,jvm识别的特殊函数名
(String[] args):定义了一个字符串数组参数
*/
class MainDemo
{
public static void main(String[] args)
{
String[] arr = new String[]{"zhang","li","wang","zhao"};
MainTest.main(arr);
}
}
class MainTest
{
public static void main(String[] args)
{
for (int x=0; x<4; x++)
{
System.out.println(args[x]);
}
}
}
/*
1、运行java MainDemo时,提示越界,因为jvm传过来的是一个长度为0的数组,不存在有元素。
2、但是如果运行java MainDemo zhang li wang zhao 后,输出结果为zhang。
因为通过这个命令,就相当于jvm给main()函数传递了一个String[] args = new String[]{"zhang","li","wang","zhao"}的数组。
*/
class MainDemo
{
public static void main(String[] args)
{
System.out.println(args.length);
System.out.println(args[0]);
}
}
/*
总结:
1、main()函数是被jvm调用,jvm给main()传了一个长度为0的字符串的数组,也就是new String[0]
2、可以通过类名.main()进行传值操作,因为main()方法是static的。
*/