static int的值會(huì)變嗎 簡(jiǎn)述常量和靜態(tài)變量區(qū)別,何時(shí)用?
簡(jiǎn)述常量和靜態(tài)變量區(qū)別,何時(shí)用?Java中靜態(tài)常量和靜態(tài)變量的區(qū)別是不同的:靜態(tài)變量屬于類,所以也稱為類變量;成員變量屬于對(duì)象,所以也稱為實(shí)例變量(object variable)。它在內(nèi)存中的位置不
簡(jiǎn)述常量和靜態(tài)變量區(qū)別,何時(shí)用?
Java中靜態(tài)常量和靜態(tài)變量的區(qū)別是不同的:靜態(tài)變量屬于類,所以也稱為類變量;成員變量屬于對(duì)象,所以也稱為實(shí)例變量(object variable)。它在內(nèi)存中的位置不同:靜態(tài)變量存儲(chǔ)在方法區(qū)的靜態(tài)區(qū);成員變量存儲(chǔ)在堆內(nèi)存區(qū);成員變量隨著對(duì)象(又稱實(shí)例)的創(chuàng)建而存在,隨著對(duì)象的消失而消失。靜態(tài)變量可以通過(guò)類名或?qū)ο笳{(diào)用;成員變量只能通過(guò)對(duì)象名調(diào)用。靜態(tài)方法中沒(méi)有this關(guān)鍵字。如何理解?非靜態(tài)方法可以同時(shí)調(diào)用靜態(tài)和非靜態(tài)成員變量;非靜態(tài)方法可以同時(shí)調(diào)用靜態(tài)和非靜態(tài)成員方法。
簡(jiǎn)述常量和靜態(tài)變量區(qū)別,何時(shí)用?
靜態(tài)變量只有在第一次遇到時(shí)才初始化,然后狀態(tài)保持不變,因此可以使用它們記錄一些狀態(tài)信息;非靜態(tài)局部變量每次調(diào)用此函數(shù)并進(jìn)入生命周期時(shí)都會(huì)初始化?!盀槭裁磿?huì)導(dǎo)致這種差異?”只要明白“這是不同設(shè)計(jì)目的造成的差異”。