public static void main(String[] args)的理解

原文链接:http://www.cnblogs.com/qrlovelj/archive/2011/12/09/2282372.html

/*
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的。
*/

你可能感兴趣的:(java,基础)