关于public static void main(String[] args)

来源:互联网 发布:a1687支持电信的网络 编辑:程序博客网 时间:2024/05/01 05:07
最近对java忘记了很多,鉴于之前学的也很囫囵吞枣,对很多方面还不很理解,下面是对public static void main(String[] args)语句的理解。
/*
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的。
*/
0 0
原创粉丝点击