读书人

有关static的有关问题

发布时间: 2012-04-20 15:27:03 作者: rapoo

有关static的问题
为什么“static int a=1;
static int c=a;
static String b="asdf";
static String d=b;”编译可以通过
而“int a=1;
static int c=a;
String b="asdf";
static String d=b;”就不可以呢?
简单说静态变量为什么不能接受非静态变量的赋值啊?而可以接受常量的赋值呢?

[解决办法]
static 的变量是在类加载的时候就初始化了,
而“ int a=1;
static int c=a;

也就是说static int c=a; 初始化的时候,int a=1还没有初始化,

就相当于 a 还没有定义,所以报错

读书人网 >J2EE开发

热点推荐