public static void main(String[] args){
//代码
}
mian函数是程序的执行入口
public:表示main方法可以由任何类访问。(java虚拟机调用main方法所以必须为public)
public缘由:
main方法是公共的,JVM就可以轻松的访问执行它。
static:表示这是一个类方法,区别于实例方法,与具体的对象无关。
static缘由:
- 正因为main方法是静态的,JVM调用这个方法就不需要创建任何包含这个main方法的实例。
- 如果main方法不声明为静态的,JVM就必须创建main类的实例,因为构造器可以被重载,JVM就没法确定调用哪个main方法。
- 静态方法和静态数据加载到内存就可以直接调用而不需要像实例方法一样创建实例后才能调用,如果main方法是静态的,那么它就会被加载到JVM上下文中成为可执行的方法。
- main函数是一个静态函数。也就是说main函数中的代码是存储在静态存储区的,即当定义了类以后这段代码就已经存在了。如果main()方法没有使用static修饰符,那么编译不会出错,但是如果你试图执行该程序将会报错,提示main()方法不存在。因为包含main()的类并没有实例化(即没有这个类的对象),所以其main()方法也不会存在。而使用static修饰符则表示该方法是静态的,不需要实例化即可使用。
void:表示main方法没有返回值。
void缘由:
main函数就是作为程序的一个入口函数,main返回任何值对程序都没任何意义
String []args 是声明args可存储字符串数组;用来接受命令行传入的参数且只能为字符串
public class Args{
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);
}
}
参数args的主要作用是为程序使用者在命令行状态下与程序交互提供了一种手段。此外在其他类中直接使用main()函数,并传递参数也是可行的,虽然这种方法不太常用,但毕竟为我们提供了一种选