在以下使用JDBC的示例中(尽管这个问题不仅限于JDBC):
如果我不将
注意:我正在使用Eclipse Luna作为我的IDE。
Connection conn = null;
try
{
..... Do the normal JDBC thing here ....
}
catch(SQLException se)
{
if(conn != null)
{
conn.close();
}
}
如果我不将
conn
初始化为null
,那么编译器会抱怨在catch
块中无法使用未初始化的引用。Java默认将对象引用初始化为null,那么为什么我需要显式地将其初始化为null呢?如果编译器不喜欢最初的引用值,即null,那么它为什么还接受我的显式初始化呢?注意:我正在使用Eclipse Luna作为我的IDE。