读书人

关于java的非法向前摘引

发布时间: 2013-08-23 15:57:36 作者: rapoo

关于java的非法向前引用
下面的注释这行代码为什么会报错:非法向前引用?
这个时候我debug都可以看到i的值是100.为什么不能打印出来呢?

public class Test {    static {        i = 100;//        System.out.println("================================"+i);    }    public static int i=10;    public static void main(String[] args) {        System.out.println("此时 i 的输出为" + i);    }}
public class Test {public static int i = 10;static {i = 100;}public static void main(String[] args) {System.out.println("此时 i 的输出为" + i);}}
改成这样子,输出来的就是100了...
由此得出结论。
ClassLoader时
1.先检查static属性的声明
2.执行static{]语句块
3.给static属性赋值
2 楼 freezingsky 昨天 这个问题属于数据初始化顺序方面。

读书人网 >编程

热点推荐