dav*_*son 6 java compiler-construction null initialization
在以下使用JDBC的示例中(虽然此问题不是特定于JDBC):
Connection conn = null;
try
{
..... Do the normal JDBC thing here ....
}
catch(SQLException se)
{
if(conn != null)
{
conn.close();
}
}
Run Code Online (Sandbox Code Playgroud)
如果我没有初始化connto,null那么编译器抱怨在catch块中我不能使用尚未初始化的引用.
Java默认情况下将对象引用初始化为null,那么为什么我需要将其显式初始化为null.如果编译器不喜欢开头为null的引用的原始值,为什么它甚至接受我的显式初始化?
注意:我Eclipse Luna用作我的IDE.
它只会在类范围中将变量初始化为null.您位于方法范围内,因此必须将变量显式初始化为null.
如果变量是在类级别定义的,那么它将被初始化为null.
| 归档时间: |
|
| 查看次数: |
140 次 |
| 最近记录: |