关于类初始化时非法向前引用变量的问题

 1 public class Test {
 2     static {
 3         i = 0;//给变量赋值可以正常编译通过
 4         System.out.println(i);//这句编译器会提示"非法前向引用"
 5     }
 6     static int i = 0;
 7    public static void main( String args[] ) { 
 8    
 9    }
10 }

静态语句块中只能访问到定义在静态语句块之前的变量,定义在它之后的变量,

在前面的静态语句块可以赋值,但是不能访问!!!

猜你喜欢

转载自www.cnblogs.com/caotao0918/p/10897898.html