日期:2014-05-19  浏览次数:20657 次

有关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 c=a;
String b="asdf";
static String d=b; 会在int a=1 之前 初始化 这时候a是不存在的 所以报错