Java新手的一段代碼,到現在入職一年了竟然還沒搞懂?求解釋
如今的程序員,可以說是非常火熱的職業了。而Java作為應用最為廣泛的編程語言之一,要說數業界最火的方向也不為過,市場上關于Java的書籍不知道有多少!網上關于Java的文章和資料也很多,雖然程序員的起步都是Helloworld,可是很多畢竟都是理論知識,加上Java覆蓋得確實比較廣闊,這就讓得很多的Java新手的基礎不是很扎實。這不,近日有一位Java程序員表示:

可以看到,確實是一段比較基礎的代碼,很多程序員都能看得懂,于是網友們紛紛評論道:

可以看到,這位樓主的問題是不清楚為什么Null還能調用方法。于是有網友有在下方詳解道是因為樓主對于類加載方面不是非常清楚,并不是Null的問題,而是因為靜態方法的調用和類是否為Null不相關。不光如此,很多網友由此發現了這位樓主的問題,畢竟從事了一年的Java開發卻還不懂這個基礎問題,于是還有網友解釋:
- @書籍很多:講道理,應該是編譯器優化成了類的方法調用了,但是其實是沒有通過實例的,所以咯,并沒有npe。
- @技術附件:cmd里面Javac方法執行完之后,靜態方法的調用和非靜態不一樣的,靜態方法的調用不需要Null對象啊,自然就沒問題。
- @睡覺啊是:建議樓主多去了解下方法區、堆、JVM之類的,人家t.m()這行IDE都提示你了,你還傻傻的問。
不光是Java,很多程序員新手在入門的時候可能學到的東西不是很全面,在某一方面的基礎不是很好其實是很正常的事情,我們只有把基礎學得扎實才能防止出現上述類似的情況!