A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 史卜坤 中级黑马   /  2012-6-12 18:22  /  2080 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

class a{  int c[][] ; c =new int[2][3] ;  }在编译时提示需要标识符错误。

5 个回复

倒序浏览
数组在初始化时需要给定数组长度,int[][] c=new int[2][3]
回复 使用道具 举报
兄弟,在多看下基础的书吧。
JAVA所有的除了定义或声明语句之外的任何语句都必须在方法内部(而方法又必须在某个类内部,不存在游离于类外部的方法或成员)

如果是int[] a = new a[2][3]; //这个是定义/声明语句,就ok
c =new int[2][3]  //这个是赋值语句,游离于方法甚至类外部,不合法







回复 使用道具 举报
class a
{
     int c[][] ;   //你这里定义就是一个问题 可以 int c [][] =null;
    c =new int[2][3] ;  
}
这种声明定义也是可以的,多看点基础书,对于数组的声明和定义都有详细的介绍
回复 使用道具 举报
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];
   }
}

这样就没问题了,因为他没用到对象的特有属性
回复 使用道具 举报
杨天皓 发表于 2012-6-12 18:45
兄弟,在多看下基础的书吧。
JAVA所有的除了定义或声明语句之外的任何语句都必须在方法内部(而方法又必须在 ...

顶你!!!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马