如果是int[] a = new a[2][3]; //这个是定义/声明语句,就ok
c =new int[2][3] //这个是赋值语句,游离于方法甚至类外部,不合法
作者: 余银桂 时间: 2012-6-12 18:52
class a
{
int c[][] ; //你这里定义就是一个问题 可以 int c [][] =null;
c =new int[2][3] ;
}
这种声明定义也是可以的,多看点基础书,对于数组的声明和定义都有详细的介绍作者: 庄星睿 时间: 2012-6-12 18:54
class a
{
int c[][];
c=new int[2][3];
}
你把变量定在成员位置上了,如果你不显示的初始化,建立对象时会默认初始化为null的,或者显示初始化,
int c[][]=new int[2][3], 对象建立是会在堆内存中进行显示的初始化,如果按照你定义的,如果要修改对象的属性,修改完后,你那个c=new int[2][3],相当于重新又给显示初始化了,这样定义没意义
如果定义在方法里就没问题了
class a
{
void test()
{
int c[][];
c=new int[2][3];
}
}