我想確定什麼是Java中已聲明但未初始化的變量/對象的狀態。在Java中聲明的未初始化變量會怎樣?它有價值嗎?
我不能實際測試它,因爲我不斷得到「未初始化」警告,我似乎無法抑制它,並且無法進行測試,如果我初始化變量。
雖然例如,我猜如果變量是integer
它可能等於。
但是,如果變量是一個字符串,將等於null
或isEmpty()
將返回true
?
所有非初始化變量的值是否相同?或者每個聲明(含義,int,string,double等)在未初始化時都有不同的值?
**** ****更新
因此,正如我現在看到的,它使一個很大的區別,如果變量聲明爲locally
或Class
,但我似乎無法理解爲什麼當在類中聲明爲靜態時它不會給出任何錯誤,但是當在main中聲明時它會生成"Not Initialized" error
。
它取決於一個類變量還是一個局部變量?一個類變量要麼是'null',要麼是它的代表默認值,局部變量不能被單元化。 – SomeJavaGuy
那麼有沒有辦法不初始化一個局部變量?嗯,讓我們說它的一個類變量,在任何情況下,它會是空的?我會得到整數,但對於字符串等仍然是空? – hedgehog
如果聲明一個對象,比如'String myString;'但是別的什麼都不做,那麼在運行時使用'myString.isEmpty()'會產生一個'nullPointerException'。 基本上默認爲'0','0.0'等.... – jr593