我的程序拋出NullPointerException
的實例方法。我懷疑Calling the instance method of a null object
是它拋出一個空指針異常的原因。這是什麼意思調用空對象「
誰能解釋一下,這實際上意味着什麼呢?
我的程序拋出NullPointerException
的實例方法。我懷疑Calling the instance method of a null object
是它拋出一個空指針異常的原因。這是什麼意思調用空對象「
誰能解釋一下,這實際上意味着什麼呢?
Java中有兩種類型的方法:靜態和實例。一個靜態方法可以在沒有該類的實例的情況下被調用,一個實例方法必須被調用到該類的一個實例上。靜態方法不能調用實例方法或使用實例數據,但反過來不成立實例方法可以調用靜態方法並使用靜態數據。
您看到的空指針異常(NPE)是因爲您正在調用空引用上的實例方法。您需要將引用設置爲該類的實際對象(或其子類)。
但有趣的是,在空引用上調用靜態方法是合法的。這是非常奇怪的語法和有點誤導,但它會起作用。
這意味着你有一些代碼看起來是這樣的:
foo.method();
...和foo
是null
foo
必須參考的對象實例的鄰。你可以調用方法或訪問它的字段。例如,你必須指定foo
(null
以外的東西),如foo = new Foo();
等。
+1 short and sweet – Nishant 2011-02-07 11:05:47
您對未初始化的對象調用方法。對於爲例你的代碼中有一行例如:
myObject.callMethod();
但這種「myObject的」尚未有這樣一行初始化:
myObject = new myObjectClass();
如果你想更多的上下文請張貼一些代碼回答!
當你試圖在調試器中捕獲這個時,你看到了什麼? – 2011-02-07 11:05:26