读书人

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

发布时间: 2011-12-13 21:22:18 作者: rapoo

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 就行了

读书人网 >J2SE开发

热点推荐