每天在这里贴一道 Java 题,借用java贴吧题目,来提高各位学习的兴趣和质量,希望多多支持!回答正确与否没有关系,重在讨论,借鉴别人的思路。请问 test() 方法中有编译错误吗?
14 回答
已采纳
冰山点水
TA贡献109条经验 获得超149个赞
方法中声明的变量为局部变量,在使用之前必须初始化。test()方法中只声明了局部变量x,而未初始化,所以编译期会报错。在类中声明的变量为成员变量,如果只声明不初始化,会有一个默认的初始值(根据变量类型决定)。
SoyaDokio
TA贡献17条经验 获得超5个赞
有,第22行直接使用未经系统自动初始化、人工初始化,即未初始化的变量。成员变量若未经人工初始化,编译器会在编译时自动初始化为默认值;而局部变量若未经人工初始化则会在编译时报错。
p.s.成员变量若未经人工初始化,编译器会在编译时自动初始化的默认值为:
byte variable = 0; short variable = 0; int variable = 0; long variable = 0; float variable = 0.0; double variable = 0.0; boolean variable = false; char variable = ' ';//系统自动初始化的char是一个空格
添加回答
举报
0/150
提交
取消