>>分享Java编程技术,对《Java面向对象编程》等书籍提供技术支持 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 24543 个阅读者 刷新本主题
 * 贴子主题:  孙老师,请教一个关于局部变量初始化的问题 回复文章 点赞(0)  收藏  
作者:apolo    发表时间:2019-08-27 19:50:13     消息  查看  搜索  好友  邮件  复制  引用

最近我在测试程序时,发现在方法中声明的数组都会被默认初始化为对应基本变量的默认值,例如:
public void test(){
    boolean[] flag = new boolean[5]; //运行时flag会被默认初始化为{false,false,false,false,false}
    int[] nums = new int[5];    //运行时nums会被默认初始化为{0,0,0,0,0}
    int i;    //编译错误,i没有被初始化
}
flag、nums和i都是局部变量,为什么flag、nums可以被默认初始化,而局部变量却不行?
是不是对象会被默认初始化,而基本类型变量不会了?


程序猿的技术大观园:www.javathinker.net
网站系统异常


系统异常信息
Request URL: http://www.javathinker.net/WEB-INF/lybbs/jsp/topic.jsp?postID=891

java.lang.NullPointerException

如果你不知道错误发生的原因,请把上面完整的信息提交给本站管理人员