关于静态类,急·~~~~~~~~~~帮帮忙~~~~~~~~~~~~~~~~~~~~~在线等
我设置如下静态类   
 在另一个类中调用 
 State   cur=new   State   (); 
 为什么会说我初始化错?(Exception   in   thread    "main "   
java.lang.ExceptionInInitializerError)还要怎么给他初始化?     
 他还说是因为我
数组越界导致(   
java.lang.ArrayIndexOutOfBoundsException:   8 
 	at   State. <clinit> (State.java:19) 
 	...   2   more)。。。     
 到底那里错????!!!!     
 public   class   State   { 
 	static   int   [][]a=new   int[8][8]; 
 	static   int   [][]aa=new   int[4][4];  	  	  	 
 	static			//静态初始化器,初始化静态属性 
 	{ 
 		for(int   i=0;i <8;i++) 
 			for(int   j=0;j <8;i++) 
 			{a[i][j]=0;} 
 		for(int   i=0;i <4;i++) 
 			for(int   j=0;j <4;i++) 
 			{aa[i][j]=0;}  		  			  		  		 
 	}  	 
 	public   State(){   } 
 	static   void   seta(int   i,int   j,int   av)//修改静态属性 
 	{ 
 		a[i][j]=av; 
 	} 
 	static   void   setaa(int   i,int   j,int   av)//修改静态属性 
 	{ 
 		aa[i][j]=av; 
 	} 
 	} 
------解决方案--------------------你的两个for语句中的i改成j就可以了,如下: 
 for(int i=0;i <8;i++) 
 	for(int j=0;j <8;j++) 
 		{a[i][j]=0;} 
 for(int i=0;i <4;i++) 
 	for(int j=0;j <4;j++) 
 		{aa[i][j]=0;}
------解决方案--------------------要是想在别的类中调用,因为是静态字段,所以并不需要使用State cur=new State ();语句创建对象,这么调用就行了,State.a[i][j]
------解决方案--------------------State cur=new State ();要用英文符号的