一、static
public static void main(String[] args) {
}
java中这句话是大家最熟悉的,那为什么main方法必须是静态的呢
- JVM会查找类中的public static void main(String[] args),如果找不到该方法就抛出错误NoSuchMethodError:main,程序终止。
- 由于main方法是静态的,JVM调用这个方法就不需要创建任何包含这个main方法的实例。如果main方法不声明为静态的,JVM就必须创建main类的实例,因为构造器可以被重载,JVM就没法确定调用哪个main方法。
- 静态方法和静态数据加载到内存就可以直接调用而不需要像实例方法一样创建实例后才能调用,如果main方法是静态的,那么它就会被加载到JVM上下文中成为可执行的方法。
二、args含义
- 运行时参数:运行Java程序的同时,可以通过输入参数给main函数中的接收参数数组args[],供程序内部使用!当你在Java命令行后面带上参数,Jvm就直接把它们存放到了main方法中的参数,args数组里了。 args这个数组可以接收到输入的内容。
java 文件名 args参数 args这个数组可以接收到这些参数。
例子:在命令行窗口下,通过java命令执行程序,并且在后面加上相加的参数,就会打印出来参数结果
public class Demo {
public static void main(String[] args) {
if (args.length == 0) {
System.out.println("调用main方法时没有指定任何参数!");
return;
}
System.out.println("调用main方法时指定的参数包括:");
for (int i = 0; i < args.length; i++) {
System.out.println("参数" + (i + 1) + "的值为:" + args[i]);
}
}
}