java中的main函数为什么是静态的

main函数其实也是所在类的一个方法,就比如一个类是test,那么该类的main其实就是test.main(String[] args),众所周知如果一个方法不是静态的,则要先实例化该类,比如要这样 A a=new A();然后才能调用 a.main(); 而这对于运行一个程序的主函数来说是不现实的,所以比如把main函数定义为static,使a.main()可以直接被调用。 因此,java规定了main函数必须是静态的

JAVA:静态方法中不能出现非静态变量吗

静态java,静态JAVA

在方法内部定义的叫“局部变量”,而不是静态变量,局部变量不能加static,包括protected, private, public这些也不能加。静态变量是定义在类中,方法体外面的。 如果你清楚JVM,应该知道局部变量是保存在栈中的,而静态变量保存于方法区,局部变量出了方法就被栈回收了,而静态变量不会,所以在局部变量前不能加static关键字。

java里的静态变量是放在了堆内存还是栈内存

静态变量静态变量是用static修饰的成员变量,也称为类变量。未用static修饰的成员变量称为实例变量。实例变量必须通过对象访问,而静态变量可以通过对象访问,也可以通过类名直接访问。例如:math.pi对该类的每一个具体对象而言,类变量是一个公共的存储单元,任何一个类的对象访问它,取到的值都是相同的;同样任何一个类的对象去修改它,也都是在对同一个内存单元进行操作。