main()函数前为何要加static?
JAVA是纯面向对象的语言,mian也是一个方法,它由程序员自己定义的一个公有类包装并重载这个方法,这个方法做为程序一开始的执行点,所以在没有任何类的实例对象时,程序就可以开始执行,所以main方法必须是静态的
public static void main(String[] args)
参数args 可以随便写,但是其他就是固定的。
1.main函数前面可以没有static。不信你编译看看,但是运行不通过,因为对于一个java的application而言,static void main(String args[])这样的写法是必须的,以保证main函数合法且先执行。事实上该函数可以超载。
2.调用非staic函数的前提是必须对包含该函数的类进行实例化,如果不实例化,当然不行。因为main函数的运行在类实例化之前。(就是说可以认为staic main函数独立于类之外)
3.这是java中最基本也是最迷惑人的地方-----一切staic的函数和变量,都先于类之前初始化或执行。
static表示静态方法,可以脱离类而实现,也就是说可以没有一个类的实例也能执行这个static方法,类似于一个全局方法。因此,static方法中的代码必须是可以单独拿出来执行的,如果要执行这个类中的非static方法,必须先实现一个这个类的实例。