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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张涛的狂怒 中级黑马   /  2014-7-26 11:54  /  1568 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 张涛的狂怒 于 2014-8-6 09:57 编辑

在数组声明的时候,有的地方会写成“int array[]=null”,为什么要写上null呢?

5 个回复

倒序浏览
成员变量有默认初始化值,  局部变量没有默认初始化值。
所以局部变量不初始化会报错,成员变量写不写都行写了也没坏处,最好养成习惯,定义的时候写上初始化(null 和 0 )
回复 使用道具 举报
null  说明数组没有实例化,没有指向任何对象,没被分配空间
如果加{}就已经分配了一个空间,实例化了
回复 使用道具 举报
数组是引用类型数据
回复 使用道具 举报
int array[]只是声明了一个引用,它没有具体指向,它要么指向null要么指向new int【xx】,对于成员函数来说它是 有默认值的,这个默认值就是null,所以当它是成员函数时你可以不给它赋值为null;但是对于局部变量它是没有默认值的,你必须为其赋初值,否则这个变量时不能使用的,所以为了防止出错在定义局部变量时要写成int array【】=null。所以为了保险起见你可以都写成int array[ ]=null。
回复 使用道具 举报
int array[]存储在栈中,需要初始化,
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马