首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

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

2011-12-13 
java是怎么给变量分配内存的?Java codepublic class Initialization {int achar bshort sfloat flong

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

热点排行