关于Java主函数的修饰符(为什么要带public和static)
public修饰符
public是函数的权限,决定了该函数是否可以被外部的函数调用
如果改为private,则只能是该main函数所在类的方法可以调用,在其他类中不可见
如果改为protected,则只能是子类和同一个包的类可以调用用
但是调用main函数的函数所在包和main函数所在包肯定不在同一个包内,所以必须是public
C里面的函数是运行在操作系统环境中的,注意是运行时库调用main函数,但是整个C代码及运行时库都直接在操作系统中运行,但是Java的代码是运行在JVM中的,如果不限定public,JVM就无法调用main函数
static修饰符
非静态的函数必须实例化一个对象才能调用
main方法是一个程序的入口,既然是入口肯定不可以先实例化再调用的
而静态方法是属于类的,直接用类名就可以调用
static关键字,告知编译器main函数是一个静态函数。也就是说main函数中的代码是存储在静态存储区的,静态方法在内存中的位置是固定的,即当定义了类以后这段代码就已经存在了。不需要实例化即可使用