public class Deom { int a[]=new int[100]; a[0]=1234; a[1]=1234; a[2]=1234; }
上面的写法是会报错的!!!
该段代码没有在任何方法体内,是永远不会执行的,所以java在编译的时候就提示出错。不光数组,就是其它的任何类型也不能这样赋值。
赋值是一种操作,不在方法体中,是不能执行的。
当然,定义的同时初始化赋值是可以的。
还有一种方法,使用静态代码块的手段执行。
public class Deom { int a[]=new int[100]; { a[0]=1; a[1]=12; a[2]=123; } }
这种写法是java的静态块,与写在构造中差不多,但静态块会在构造执行前执行。静态块只要写在变量定义的一后面就可以,与你变量的定义没有关系。
总结:单独的变量赋值必须在方法中 或静态代码块中。