簡體   English   中英

為什么在Java中允許初始化引用為空?

[英]Why Initializing References to Null Is allowed In Java?

在以下使用JDBC的示例中(雖然此問題不是特定於JDBC):

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。

它只會在類范圍中將變量初始化為null。 您位於方法范圍內,因此必須將變量顯式初始化為null。

如果變量是在類級別定義的,那么它將被初始化為null。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM