首頁  >  文章  >  Java  >  java中null是物件麼

java中null是物件麼

王林
王林原創
2019-11-25 10:47:283732瀏覽

java中null是物件麼

一、null是代表不確定的物件

Java中,null是一個關鍵字,用來識別一個不確定的物件。因此可以將null賦給參考型別變量,但不可以將null賦給基本型別變數。

例如:int a = null;是錯誤的。 Ojbect o = null是正確的。

Java中,變數的適用都遵循一個原則,先定義,初始化後,才可以使用。我們不能int a後,不給a指定值,就去印a的值。這條對對於引用型別變數也是適用的。

有時候,我們定義一個引用類型變量,在剛開始的時候,無法給出一個確定的值,但是不指定值,程式可能會在try語句區塊中初始化值。這時候,我們下面使用變數的時候就會報錯。這時候,可以先給變數一個null值,問題就解決了。例如:

Connection conn = null
    try {
        conn = DriverManager.getConnection("url", "user", "password");
        } catch (SQLException e) {
          e.printStackTrace();
  }
    String catalog = conn.getCatalog();

 如果剛開始的時候不指定conn = null,則最後一句話就會報錯。

java學習影片推薦:java入門學習

二、null本身不是對象,也不是Object的實例

null本身雖然能代表一個不確定的對象,但就null本身來說,它不是對象,也不知道什麼型,也不是java.lang.Object的實例。

可以做一個簡單的例子:

//null是对象吗? 属于Object类型吗?
if (null instanceof java.lang.Object) {
    System.out.println("null属于java.lang.Object类型");
} else {
    System.out.println("null不属于java.lang.Object类型");
  }

結果會輸出:null不屬於java.lang.Object型別

三、Java預設給變數賦值

在定義變數的時候,如果定義後沒有給變數賦值,則Java在執行時會自動賦值變數。賦值原則為整數型別int、byte、short、long的自動賦值為0,搭配小數點的float、double自動賦值為0.0,boolean的自動賦值為false,其他各供引用型別變數自動賦值為null。

四、容器類型與null

List:允許重複元素,可以加入任意多個null。

Set:不允許重複元素,最多可以加入一個null。

Map:Map的key最多可以加入一個null,value欄位沒有限制。

數組:基本類型數組,定義後,如果不給定初始值,則java運行時會自動給定值。引用類型數組,不給定初始值,則所有的元素值為null。

五、null的其他作用

1、判斷一個引用型別資料是否null。用==來判斷。

2、釋放內存,讓一個非null的引用類型變數指向null。這樣這個物件就不再被任何物件應用了。等待JVM垃圾回收機制去回收。

更多相關文章推薦:java語言入門

#

以上是java中null是物件麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn