java中的内存分配问题

来源:百度知道 编辑:UC知道 时间:2024/06/05 10:42:04
还得请教高手一下。比如:public class {
int a=1;
public static void main.......{
System.out.print(a);}}
在这里面,a是一个成员变量,他在堆区,而这个类也没有实例化,那么a在堆区是怎么个状态呢?谢谢!!

你这个程序语法上是错误的,静态方法不可以直接获取非静态属性
假如你不print的时候,语法没错,但a在内存中不存在,假如你声明a 为static的,类加载时会将这个值放在stack中。

这么说吧,非静态属性必须要该类实例化之后才会在内存中分配空间

运行的时候系统为它分配内存,不运行的时候没有。
这个回答可以么?