为了账号安全,请及时绑定邮箱和手机立即绑定

java关于变量初始值的问题

java关于变量初始值的问题

拉莫斯之舞 2019-04-26 23:19:25
int x; System.out.println(x); 这段会报错,而如果是以下的代码却不会报错 class A{ int x; int getX(){ return x; } void print(){ System.out.println(x); } } 原因在哪
查看完整描述

4 回答

?
达令说

TA贡献1821条经验 获得超6个赞

int x只是声明,java规定局部变量使用前必须初始化,否则编译不通过。而第二个是类内部的成员变量,编译器自动初始化成员变量


查看完整回答
反对 回复 2019-05-06
?
白板的微信

TA贡献1883条经验 获得超3个赞

说法同上,java编译器初始化java类时,会先初始化成员变量。int默认为0.使用局部变量由于没有初始化,所以需要显示赋值。建议你去看看java类是怎么初始化。


查看完整回答
反对 回复 2019-05-06
?
慕斯王

TA贡献1864条经验 获得超2个赞

在类中定义的成员变量如果你没有初始化java会自动帮你初始化,当然如果你定义的是局部变量就必须初始化了,否则编译会报搜索错。


查看完整回答
反对 回复 2019-05-06
?
小怪兽爱吃肉

TA贡献1852条经验 获得超1个赞

类的成员变量 会有默认的初始化值,而一般变量不会有默认的初始化


查看完整回答
反对 回复 2019-05-06
  • 4 回答
  • 0 关注
  • 477 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号