public static void(vodi)你拼写错误!
下面分别解释这些关键字的作用:
(1)public关键字,这个好理解,声明主函数为public就是告诉其他的类可以访问这个函数。
(2)static关键字,告知编译器main函数是一个静态函数。也就是说main函数中的代码是存储在静态存储区的,即当定义了类以后这段代码就已经存在了。如果main()方法没有使用static修饰符,那么编译不会出错,但是如果你试图执行该程序将会报错,提示main()方法不存在。因为包含main()的类并没有实例化(即没有这个类的对象),所以其main()方法也不会存。而使用static修饰符则表示该方法是静态的,不需要实例化即可使用。
(3)void关键字表明main()的返回值是无类型。
**(4)参数String[] args,这是本文的重点。
第一、程序使用者可以在命令行状态下向某个类传递参数。看下面的例子:
public class ArgsDemo {
public static void main(String[] args) {
String str = new String();
for (int i = 0; i < args.length; i++) {
System.out.println(args[i]);
str += args[i];
}
System.out.println(str);
}
}
使用javac ArgsDemo.java命令生成ArgsDemo.class文件;然后使用“java ArgsDemo 参数一 参数二 参数三 …”的格式向ArgsDemo类传递参数。该示例程序将首先输出参数,然后输出所有参数的和。比如java ArgsDemo a b c,将得到这样的输出:
a
b
c
abc
需要注意的是,如果这里的循环条件不是i
Exception in thread “main” java.lang.ArrayIndexOutOfBoundException:3
at ArgsDemo.main(ArgsDemo.java:5)
第二、可以在另一个类中向包含main()的类传递参数,如下例:
public class A {
public static void main(String[] args)
{
for(int i=0;i
System.out.println(args[i]);
}
}
public class B {
public static void main(String[] args)
{
c = new A();
String[] b = {"111","222","333"};
c.main(b);
}
}
首先定义一个class A,在A中定义一个main()函数,在该函数中输出参数args。然后定义一个classB,在B中初始化一个A的实例c,然后向c传递参数,并且调用c的main方法打印出传入的参数值。输出结果如下:
111
222
333
由于main()函数是静态函数,即不需要实例化也能使用,所以B使用下面的写法也能完成相同的功能:
public class B {
public static void main(String[] args)
{
//A c = new A();
String[] b = {"111","222","333"};
A.main(b);
}
}
总结:参数args的主要作用是为程序使用者在命令行状态下与程序交互提供了一种手段。此外在其他类中直接使用main()函数,并传递参数也是可行的,虽然这种方法不太常用,但毕竟为我们提供了一种选择。
public: 方法的应用范围修饰符,代表公共的
static:是java类的静态方法,使用时不必创建对象
void:表示执行此方法后返回值的类型是void,void表示什么都不返回
main:方法名,java中主函数的写法,主函数是程序执行的入口,起点函数
String[] args :方法的参数,是一个字符串数字类型的参数
public 是方法的修饰符类型;在public: 下的成员,是类的公有成员,别的类或者主函数可以申明个对象直接访问,而private: 下的是私有 成员,只有类的内部能访问,类的外部无法访问的. static 表示静态的方法 void 方法的返回 。 main 是程序的主方法,程序从这里开始执行。 (string【】 args) 是传入的参数。
程序的入口,实际是公有的方法,所以是public,静态的static,执行不需要返回值void,传的参数是字符串数组。这个深入到java内部了,初学者先不用管,等你理解那些方法,静态量,返回值,参数的东西后再去理解这个,这个的解释在《thinking in java》里有解释
public static void main(String[] args) java应用程序的入口(注意区分大小写)
public 访问权限
static 静态方法(函数)
void 返回类型
main java的入口方法
string[] args外部传入的参数