首先需要说明的是:

1.main函数(主函数)是可以调用的,这种调用是没有意义的;

2. main函数只能出现在公共类中也就是public class中;

但我不明白的是:在eclipse中默认的internal中刚开始不能识别为application,改为public再改回来后internal就可以了,所以这条可能是非必需的。

关于main的声明:

1.java虚拟机调用的,所以必须为public;

2. 虚拟机调用main方法的时候不需要产生任何对象,所以声明为static;

3. 不需要返回值,所以声明为void;

转实例From:http://java.chinaitlab.com/base/725697.html

我们可以做个实验:

class Test

{

public static void main(String[] args)

{

System.out.println(args.length);

System.out.println(args[0]);

}

}

然后编译运行:

在提示符窗口输入:

(1)  javac Test.java

(2)  java Test

结果为:

0

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0

at Test.main(Test.java:6)

这两行都可以看出args并没有分配空间(第二行说书组越界错误)

那么args参数到底是用来干什么的呢?

原来参数args是用来接收命令行的参数的 (但不包括java Test)

我们可以在输入(1)后输入:

(3)   java Test Roy

结果为:

1

Roy

下面我们来改写一下这个程序:

class Test

{

public static void main(String[] args)

{

System.out.println(args.length);

if(args.length>0)

{

for(int i=0;i

System.out.println(args[i]);

}

}

}

然后编译

(1)  javac Test.java

(2)  java Test

结果为

0

再输入

(4)  java Test Roy lx

结果为

2

Roy

lx

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐