main函数的完整定义语法为public static void main(String[] args)
main方法是个特殊的方法,它是主程序访问的入口点,可以使用public、默认(即什么都不写)、protected、private进行修饰,并且不会出现运行期错误。
其中,public不是 必须的,声明为public是为了main方法可以从任意一个Java运行环境中调用。但是static是必须的,这样可以在不需要构造类实例的前提下,直接运行应用程序。
main方法没有返回值,返回值声明必须为void,而不能没有定义或定义为其他类型。
例题1:
以下哪些是main方法的正确形式?
(1)static void main(String[] args){}
(2)public static void main(String[] args){}
(3)public static void main(String args[]){}
(4)public static void main(String door[]){]
答案:1,2,3,4
以下文件“TestMain.java”
//测试main函数的写法
public class TestMain{
/*
public static void main(String[] args){//可以通过编译,而且能运行
System.out.println("test ok!");
}
*/
/*
static public void main(String[] args){//可以通过编译,而且能运行
System.out.println("test ok!");
}
*/
/*
static void main(String[] args){//可以通过编译,但不能运行,提示:Main method not public
System.out.println("test ok!");
}
*/
/*
public static void main(String args){//可以通过编译,但不能运行
System.out.println("test ok!");
}
*/
/*
public void main(String[] args){//可以过编译,不可运行,因为static修饰符是必须的。
System.out.println("test ok!");
}
*/
/*
void main(String[] args){//可以通过编译,不可运行
System.out.println("test ok!");
}
*/
public static void main(String[] args){
System.out.println(args.length);
//System.out.println(args[2]);//命令行上输入java TestMain,则args[2]不存在,故有异常,不能正常运行
}
}