当前位置: 代码迷 >> J2SE >> java是如何给变量分配内存的
  详细解决方案

java是如何给变量分配内存的

热度:46   发布时间:2016-04-24 12:13:48.0
java是怎么给变量分配内存的?
Java code
public class Initialization {      int a;      char b;      short s;      float f;      long lo;      double dou;      byte e;      boolean flag;             Object obj;        public static void main(String [] args){          Initialization init = new Initialization();       //   init.print();  //为什么这样可以执行,?        System.out.println("int a="+a); //而这样就不可以?java是怎么给变量分配内存的?    }        public void print()    {          System.out.println("int a="+a);      }  }


------解决方案--------------------
main是静态方法,在main里无法直接引用具体对象的成员a,只能写成init.a的形式。
------解决方案--------------------
因为a不是静态的

静态方法里使用必须是静态成员变量

我猜测你的本意应该是用 System.out.println("int a=" + init.a);
------解决方案--------------------
非静态成员当然不能用在静态中,将a声明为static int a 就行了
  相关解决方案