重新认识Java中的程序入口即主函数各组成部分

主函数各组成部分深入理解

public static void main(String[] agrs)

主函数:是一个特殊的函数,作为程序的入口,可以被JVM调用

主函数的定义:
public:代表着该函数访问权限是最大的
static:代表主函数随着类的加载就已经存在了
void:主函数没有具体的返回值
main:不是关键字,但是一个特殊的单词,能够被JVM识别
(String[] args):函数的参数,参数类型是一个数组,该数组中的元素师字符串,字符串数组。main(String[] args) 字符串数组的 此时空数组的长度是0,但也可以在 运行的时候向其中传入参数。

主函数时固定格式的,JVM识别

主函数可以被重载,但是JVM只识别main(String[] args),其他都是作为一般函数。这里面的args知识数组变量可以更改,其他都不能更改。一个java文件中可以包含很多个类,每个类中有且仅有一个主函数,但是每个java文件中可以包含多个主函数,在运行时,需要指定JVM入口是哪个。当如一个类的主函数可以调用另一个类的主函数。


事例一:说明一个java文件可以包含多个类,每个类只能包含一个主函数。当一个java文件包含多个主函数时,许指定程序入口。

<pre name="code" class="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<args.length;x++)
		{
			System.out.println(args[x]);
		}
	}
}





原文地址:https://www.cnblogs.com/xiangyangzhu/p/4260847.html