JAVA在类中定义数组并赋值(转)

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的静态块,与写在构造中差不多,但静态块会在构造执行前执行。静态块只要写在变量定义的一后面就可以,与你变量的定义没有关系。

总结:单独的变量赋值必须在方法中 或静态代码块中。

原文地址:https://www.cnblogs.com/BruceKing/p/12671588.html