public修饰符

public是函数的权限,决定了该函数是否可以被外部的函数调用

如果改为private,则只能是该main函数所在类的方法可以调用,在其他类中不可见

如果改为protected,则只能是子类和同一个包的类可以调用用

但是调用main函数的函数所在包和main函数所在包肯定不在同一个包内,所以必须是public

C里面的函数是运行在操作系统环境中的,注意是运行时库调用main函数,但是整个C代码及运行时库都直接在操作系统中运行,但是Java的代码是运行在JVM中的,如果不限定public,JVM就无法调用main函数

static修饰符

非静态的函数必须实例化一个对象才能调用

main方法是一个程序的入口,既然是入口肯定不可以先实例化再调用的

而静态方法是属于类的,直接用类名就可以调用

static关键字,告知编译器main函数是一个静态函数。也就是说main函数中的代码是存储在静态存储区的,静态方法在内存中的位置是固定的,即当定义了类以后这段代码就已经存在了。不需要实例化即可使用

Q.E.D.


   七岁几胆敢预言自己,操一艘战机