黑马程序员技术交流社区
标题:
初始化时i不是有默认值吗,但为什么有错啊
[打印本页]
作者:
习嘻嘻
时间:
2013-11-16 00:38
标题:
初始化时i不是有默认值吗,但为什么有错啊
本帖最后由 习嘻嘻 于 2013-11-16 10:50 编辑
class Something {
final int i;
public void doSomething() {
System.out.println("i = " + i);
}
public static void main(String[] args)
{
new Something().doSomething();
}
}
作者:
零下五度的水
时间:
2013-11-16 00:48
你这不是找茬么,定义一个常量不赋值,就算人家语法允许,有什么意义么你这个
作者:
wjj410830911
时间:
2013-11-16 03:39
你定义了final 又没有给i赋值 系统是不会给i赋予初始化值的 因为你final了 i就不可以被改变 连系统默认初始化也不可以。
解决办法 要么你把final去掉 要么直接给final赋予一个值让他变成常量 final int i = 10;
作者:
smileven
时间:
2013-11-16 10:05
final修饰的常量是不能在后面的代码中修改值的。所以你必须在定义final常量的时候一块初始化。
final int i = 10;
作者:
java--周群
时间:
2013-11-16 20:16
栈内存中的数据是没有默认初始化值的哦,要手动赋值
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2