什么是Java的main函数
作用
在Java中,一般程序将main函数作为程序的入口,程序是从main函数开始执行的。除了applet这个类不需要main函数,常用语程序测试。下面分别讲解声明main()时关键字的作用。
main函数的格式为:public static void main(String[] args){},下面分别介绍各个字母的含义:
public访问控制符:声明该类的访问权限为共有的。
static静态方法(或类方法):声明main()方法是一个静态方法。在编译阶段,main()函数被存储在静态存储区,即main()方法在声明阶段就已经分配了内存(或称为已经被实例化成对象)。而非static方法(类方法)在声明阶段仅说明方法的大小并未分配内存空间,也就是说,我们不能对未被实例化的对象操作,因为该类并没有被实例化,既不存在该类的对象。
void返回值类型:main方法执行结束后返回一个void。
String[] args形参列表:作用如下。
1.在main()的执行前,可以在DOS窗口通过键入命令方式向main()函数传递参数。例如:
package com.mainTest;
public class MainDemo {
public static void main(String[] args) {
//static对main方法的影响
MainDemo test = new MainDemo();
test.main();
//参数列表
String str = new String();
for (int i = 0; i < args.length; i++) {
System.out.println(args[i]);
str += args[i];
}
System.out.println(str);
}
public void main(){
System.out.println("unstatic main() function.");
}
}
在DOS窗口中,首先使用javac MainDemo.java命令生成MainDemo.class文件,其次使用java MainDemo a b c de命令向main()方法传递4个参数分别为:a、b、c、de。输出结果如下:
2.通过调用含有main()方法的类传递参数。例如:
public class A {
public static void main(String[] args) {
//在类A的main函数中调用类B的main函数,并传递参数。
System.out.println("1:");
B b = new B();
String[] str = {"good", "good", "study", ",", "day", "day", "up", "!"};
b.main(str);
System.out.println();
System.out.println("2:");
B.main(str);
}
}
public class B {
public static void main(String[] args) {
System.out.println("I'am the main function of B class.");
System.out.println("类A传递的参数为:");
for(int i=0; ilength; i++){
System.out.print(args[i]+" ");
}
}
}
输出结果如下:
1:
I'am the main function of B
class.
类A传递的参数为:
good good study , day day up
!
2:
I'am the main function of B
class.
类A传递的参数为:
good good study , day day
up !
总结:在main()函数中args[]是形参列表,接受调用main()函数时(实参列表传递)的参数。