package example; public class Test { //编译失败,非法前向引用 int num1=num2+1; int num2=10; }
package example; public class Test { //编译通过 int num1=num2+1; static int num2=10; }
package example; public class Test { //编译失败,非法前向引用 static int num1=num2+1; static int num2=10; }
要考虑到静态字段的加载是随着类创建诞生