编译错误和运行错误
来源:2-22 选择练习
大芒果hyy
2022-09-10 11:53:32
这两个Integer类型对象都没有初始化,为什么一个是编译错误,一个是运行错误呢?
1回答
好帮手慕小蓝
2022-09-13
同学你好~
1.第一张图中的one变量书写在方法中,是局部变量。局部变量没有默认值,所以语法要求,必须先赋值才能使用。而代码中没有对其进行赋值,违反了语法约束,所以会报错。
2.第二张图中的i变量书写在类以内方法以外,是成员变量。成员变量具有默认值,并且由于包装类是对象类型,其默认值是null而不是0。当使用null值进行方法调用或者运算时,就会抛出空指针异常。
祝学习愉快~
相似问题