java中空指針的概念僅僅是幫程序員早些發(fā)現(xiàn)了bug嗎?
網(wǎng)友解答: 謝邀~樓主說的讓程序員早點發(fā)現(xiàn)bug只是這個理念設(shè)計的一種解決方法,但不是最終的目的。個人覺得這樣設(shè)計的原因有幾個:1.減少無用的代碼量。有了空指針,后面的代碼都行不通了,增
謝邀~
樓主說的讓程序員早點發(fā)現(xiàn)bug只是這個理念設(shè)計的一種解決方法,但不是最終的目的。
個人覺得這樣設(shè)計的原因有幾個:
1.減少無用的代碼量。有了空指針,后面的代碼都行不通了,增加了很多沒用的代碼量。而且這樣在底層邏輯是不通的。
2.空指針null是找不到執(zhí)行的變量的地址的。java的類有點像c語言的動態(tài)變量。變量名占用四個字節(jié),這四個字節(jié)保存著實際引用的頭地址。變量名只是聲明引用的地址是什么類型的變量,因為類型不一樣,字節(jié)長度也不一樣。不管是取值還是調(diào)用方法都是從變量名引用的地址調(diào)用。如果現(xiàn)在你變量名里沒有引用,那你去執(zhí)行哪塊內(nèi)存的方法呢?
3.不從代碼角度講,邏輯上來講 。比如 ,你用null來做事情,往下走你的邏輯,很長一段的邏輯 有什么意義么? 沒有任何意義,從開始我就知道 ,你的所有的邏輯最后返回的就是null 那你寫那些干嘛?
或者換個角度來講 ,null+邏輯代碼=null 。所以你的邏輯代碼從某些方面來講也是null。
網(wǎng)友解答:不是安卓火起來的話,java早死了!因為web用php,桌面用c++、c#,哪有java的份???