首页 > 代码库 > Java的main函数使用小记

Java的main函数使用小记

转自:http://blog.csdn.net/qdieyou/article/details/1490618

————————————————————————————————

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]不存在,故有异常,不能正常运行
 }

终结:main函数必须是public、static、void的,而且参数必须为String类型的数组,这里顺序可以改变,变量名称可以改变。缺少的情况下编译可能通过,但是运行是不能通过。

附上自己检验代码


public class Test1 {
/**
* 可编译,但不能运行
*/
public static void main() {
System.out.println("123");
}
/**
* 可以正常运行
* @param string
*/
/* public static void main(String[] string) {
System.out.println("123");
}*/
/**
* 可编译,但不能运行
* @param args
*/
public static void main(String args) {
System.out.println("123");
}
/**
* 不能编译,返回值必须void
* @param args
* @return
*/
/* static public int main(String[] args){

}*/

/**
* 可编译,但不能运行
*/
static void main(String[] args){
System.out.println(123);
}
}