Java中的局部變量為什們要初始化?如果你現在是一名 Java 語言開發人員,你將對象存儲在棧內存中,將局部變量存儲在棧內存中,你會怎么做?
Java中的變量分為類變量、成員變量和局部變量,它們分別位于 JVM 的方法區、堆內存和棧內存中。類變量和成員變量都可以在類首次加載和類初始化時賦予默認值,但局部變量必須在使用前賦值。
實際上,Java 可以設計成不需要初始化局部變量,只要作者滿意。其實還有這樣的語言,比如C++。
當然,C++不需要初始化,不代表不需要初始化。事實上,C++ 開發者也建議對局部變量進行初始化,以防止出現野指針之類的事情。
其實不管是局部變量還是成員變量都必須初始化,那為什么成員變量會自動初始化呢?其實正是因為成員變量是屬于對象的,而對象是存放在堆中的,所以jvm在初始化類的時候,對成員變量進行初始化,而如果我們還需要JVM來初始化調用方法時的局部變量,會不會影響性能?因此,直接強制初始化局部變量是比較困難的。挺好的。更多關于“Java培訓”的問題,歡迎咨詢千鋒教育在線名師。千鋒已有十余年的培訓經驗,課程大綱更科學更專業,有針對零基礎的就業班,有針對想提升技術的好程序員班,高品質課程助理你實現java程序員夢想。