日期:2014-05-20  浏览次数:20723 次

java 类型初始化问题
public class BSort                                                                                 

public static void main(String[] args)  
{ int b;
 System.out.println(b); 
}
 } 
//BSort.java:7: 错误: 可能尚未初始化变量b 
//程序为什么会出错啊,类型值得默认值不是0吗,怎么不是输出0
Java

------解决方案--------------------
那是类变量会有默认值,你在方法中定义的局部变量必须显示初始化,没默认值的!
------解决方案--------------------
局部变量在使用之前必须显示初始化
------解决方案--------------------
局部变量在使用之前必须显示初始化+1
------解决方案--------------------
引用:
Quote: 引用:

那是类变量会有默认值,你在方法中定义的局部变量必须显示初始化,没默认值的!
能否解释下局部变量 怎么就没有默认值啊

对于局部变量,如果没有初始化,很有可能是程序员疏忽,忘记了初始化局部变量,Java 编译器在编译阶段强制要求程序员给局部变量赋初始值,可避免潜在的威胁。

------解决方案--------------------
成员变量会被系统默认初始化,局部变量没这功能,所以必须自己初始化。如果不初始化,会有无法预知的威胁。
------解决方案--------------------
把 int b;  放到main方法外面就好了!!!
------解决方案--------------------
都是概念性的东西 自己记记吧
------解决方案--------------------
上面说的很清楚了,局部变量需要初始化才能引用