導航:首頁 > 編程語言 > javanull引用

javanull引用

發布時間:2022-07-05 01:58:59

1. 關於java的null

首先java對象的產生是分兩步的:
1.在棧區聲明對象 如A a,這時聲明的內容相當於一個指針(我們姑且認為它是一個指針,也可以理解為引用),當a=null時表明這是一個沒有指向任何對象.
2.實例化a,操作如下a=new A()這是在堆區為a分配了空間.

也就是由棧區的a指向堆區的new A()對象.

而a=null則是表明,首先,a是必然在棧區的,a的值是一個地址(假設它真的是一個指針),a=null表示的是a的值是null,與堆區無關

此時的a與堆並無關系,何況java中有一種申請垃圾回收的手段便是將一個對象賦值為null以切斷與之前關聯對象的關系,因此答案應該是2.

2. java null 引用類型

調用方法的時候null會先找子類,沒有子類才找父類,
class father{
}
class child extends father{
}
class son extends child{

}
public class TestNull{
public static void f(child c){
System.out.println("child.method.");
}

public static void main(String args[]){
f(null);
}
public static void f(son s){
System.out.println("son.method");
}
public static void f(father f){
System.out.println("father.method.");
}
}

結果是:son.method

3. null在java中是什麼意思

null是沒有地址
""是有地址但是裡面的內容是空的

好比做飯 null說明連鍋都沒有 而""則是有鍋沒米
雖然二者看起來都是沒有米 但是意義卻不同

4. 什麼是null引用

null引用時Java對類類型變數的內存分配採取的方式,說明變數時,在內存中為其建立一個引用,並置初值null,表示不指向任何內存空間。然後,需要程序員用new申請相應的內存空間,其大小依class的定義而定,並將該段內存的首地址賦給剛才建立的引用

5. 哪位能解釋一下JAVA中的 null, 並且對象、String等等,都可以賦值為null

先說下null,在Java裡面,包括C++,C#,都是指的一個空的內存地址,
我想你應該也知道,在Java裡面String也是對象,而對象和基本數據類型的區別就是對象裡面存放的是一個內存地址,基本數據類型裡面存放的是一個確切的值
這樣你明白為什麼能把null賦給對象和String了吧。其實,你如果了解C裡面的指針,你就能很輕松的弄明白這些問題。

6. Java中的null是個什麼東西

null...
是空引用啊,表示不引用任何對象。表達式和null比較就是判斷這個表達式的值到底是不是某個對象的引用。
路徑是啥...?

7. 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,則最後一句就會報錯。

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

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垃圾回收機制去回收。

8. Java中的null如何理解

返回false,因為null不是任何類的實例。null就是空的引用。
List
集合里可以用null作為參數,是因為List默認允許加入空值,所以使用list.add(null)才不會有錯。
但是如果對於不接受空值的集合傳入null做參數就會報空指針異常了,比如HashTable就不接受null作為鍵或值。
對於你的補充:
1
結果是
List
doesn't
contain
null
List
contains
null
List
contains
null
這些你自己測試就可以看到;
2
List
是一個有序的集合,它裡面存儲的每一個元素都是對象,確切來說是對象的引用(就是存放真正對象所在的內存地址);對象的引用指向的是真正的對象,你直接存入null和你定義一個Object對象賦值為null然後再存入都是一樣的,它就代表一個引用位置,而這個位置是空也就是並沒有指向什麼具體的對象,它的值是null,所以你看到的都是null;
3
結果就是上面這樣出來的。

9. JAVA中,null,是什麼意思

null意思是空,指什麼都沒有,聲明一個對象為空,就是告訴JAVA虛擬機要給該對象分配內存地址,此時就可以拿來用了。例如:
String str = null;
是聲明了一個String類型的對象,但是該對象是沒有具體的值,只是在內存中存在一個str對象。

10. java中 如何顯式的給對象的引用變數賦null

當執行new為一個對象分配內存時,Java自動初始化所分配的內存空間。對於數值變數,賦初值0。對於布爾變數,初值為false。對於引用,即對象類型的任何變數,使用一個特殊的值null。
在Java中,null值表示引用不指向任何對象。運行過程中系統發現使用了這樣一個引用時·可以立即停止進一步的訪問,不會給系統帶來任何危險。
自動初始化只用於成員變數,對方法中的自動變數不起作用。Java規定,任何變數使用之前,必須對變數賦值。由於方法內的自動變數不能進行自動初始化,因此要求程序員顯式地對其賦值。當然可以給變數賦值為null。如果在變數賦值之前使用它,編譯器會指出一條錯誤信息。告知自動變數未被初始化。
注意在Java中null應小寫,和其他語言中的用法不同。

閱讀全文

與javanull引用相關的資料

熱點內容
自己購買雲主伺服器推薦 瀏覽:422
個人所得稅java 瀏覽:761
多餘的伺服器滑道還有什麼用 瀏覽:192
pdf劈開合並 瀏覽:28
不能修改的pdf 瀏覽:752
同城公眾源碼 瀏覽:489
一個伺服器2個埠怎麼映射 瀏覽:298
java字元串ascii碼 瀏覽:79
台灣雲伺服器怎麼租伺服器 瀏覽:475
旅遊手機網站源碼 瀏覽:332
android關聯表 瀏覽:946
安卓導航無聲音怎麼維修 瀏覽:333
app怎麼裝視頻 瀏覽:431
安卓系統下的軟體怎麼移到桌面 瀏覽:96
windows拷貝到linux 瀏覽:772
mdr軟體解壓和別人不一樣 瀏覽:904
單片機串列通信有什麼好處 瀏覽:340
游戲開發程序員書籍 瀏覽:860
pdf中圖片修改 瀏覽:288
匯編編譯後 瀏覽:491