主函数的定义:
public:代表着该函数访问权限是最大的
static:代表主函数随着类的加载就已经存在了
void:主函数没有具体的返回值
main:不是关键字,但是一个特殊的单词,能够被JVM识别
(String[] args):函数的参数,参数类型是一个数组,该数组中的元素师字符串,字符串数组。main(String[] args) 字符串数组的 此时空数组的长度是0,但也可以在 运行的时候向其中传入参数。
主函数时固定格式的,JVM识别
主函数可以被重载,但是JVM只识别main(String[] args),其他都是作为一般函数。这里面的args知识数组变量可以更改,其他都不能更改。一个java文件中可以包含很多个类,每个类中有且仅有一个主函数,但是每个java文件中可以包含多个主函数,在运行时,需要指定JVM入口是哪个。当如一个类的主函数可以调用另一个类的主函数。
事例一:说明一个java文件可以包含多个类,每个类只能包含一个主函数。当一个java文件包含多个主函数时,许指定程序入口。
class MainDemo
{
public static void main(String[] args)
{
System.out.println(args.length);
//System.out.println(args[1]);//这样是错误的
System.out.println("MainDemo----0");
main(1);
}
public static void main(int x)
{
System.out.println("重载的main函数---"+x);
}
}
class MainDemo1
{
public static void main(String[] args)
{
System.out.println(args.length);
//System.out.println(args[1]);//这样是错误的
System.out.println("MainDemo----1");
}
}
事例二:说明程序入口主函数在执行时,可以向普通函数一样传入参数。
class MainDemo
{
public static void main(String[] args)
{
String[] arr={"haha","hha","heihei","xixi","hiahia"};
MainTest.main(arr);
}
}
class MainTest
{
public static void main(String[] args)
{
for(int x=0;x
{
System.out.println(args[x]);
}
}
}