java靜態(tài)變量和非靜態(tài)變量 易語言中靜態(tài)變量與非靜態(tài)變量的區(qū)別?
易語言中靜態(tài)變量與非靜態(tài)變量的區(qū)別?易語言的局部變量有個(gè)靜態(tài)屬性。設(shè)置為靜態(tài)的變量,在程序運(yùn)行期間,變量值不被清空,留作下次使用,與程序集變量、全局變量相似,但是只能在其所屬的子程序中使用。沒有定義為
易語言中靜態(tài)變量與非靜態(tài)變量的區(qū)別?
易語言的局部變量有個(gè)靜態(tài)屬性。設(shè)置為靜態(tài)的變量,在程序運(yùn)行期間,變量值不被清空,留作下次使用,與程序集變量、全局變量相似,但是只能在其所屬的子程序中使用。沒有定義為靜態(tài)的局部變量,在每次進(jìn)入其所屬的子程序時(shí),變量值都會(huì)變?yōu)槌跏贾怠?/p>
靜態(tài)成員變量與非靜態(tài)成員變量的根本區(qū)別是什么?
一、名稱上的區(qū)別:成員變量也叫實(shí)例變量;靜態(tài)變量也叫類變量。二、內(nèi)存存儲(chǔ)的區(qū)別:成員變量存儲(chǔ)到堆內(nèi)存的對象中,靜態(tài)變量存儲(chǔ)到方法區(qū)的靜態(tài)區(qū)中。三、生命周期不同:1)成員變量隨著對象的出現(xiàn)而出現(xiàn),隨著對象的消失而消失。2)靜態(tài)變量隨著類的出現(xiàn)而出現(xiàn),隨著類的消失而消失。四、補(bǔ)充:1.靜態(tài)變量使用 static 修飾符進(jìn)行聲明;2.在類被實(shí)例化時(shí)創(chuàng)建,通過類進(jìn)行訪問不帶有 static 修飾符聲明的變量稱做非靜態(tài)變量;3.在對象被實(shí)例化時(shí)創(chuàng)建,通過對象進(jìn)行訪問;4.一個(gè)類的所有實(shí)例的同一靜態(tài)變量都是同一個(gè)值,同一個(gè)類的不同實(shí)例的同一非靜態(tài)變量可以是不同的值;5.靜態(tài)函數(shù)的實(shí)現(xiàn)里不能使用非靜態(tài)成員,如非靜態(tài)變量、非靜態(tài)函數(shù)等。6.示例:1)using System
靜態(tài)變量與非靜態(tài)變量區(qū)別,靜態(tài)變量過多的壞?
好處就是上面說的容易調(diào)用,不需要?jiǎng)?chuàng)建對象就可以調(diào)用它:類名.成員名壞處就是該類中所有對象都是共享這個(gè)成員。在一個(gè)對象中改動(dòng)它,所有的都變了。 從硬件方面說,靜態(tài)變量是存儲(chǔ)在CPU里面的Cache存儲(chǔ)器里,不是內(nèi)存。它的值從創(chuàng)建時(shí)就一直存在,沒有回收空間。只有斷電了才能消去。這樣比較浪費(fèi)空間。
什么叫靜態(tài)變量?與動(dòng)態(tài)變量的差別在哪?
動(dòng)態(tài)變量和靜態(tài)變量定義和區(qū)別如下:
1、定義上,靜態(tài)變量比動(dòng)態(tài)變量多一個(gè)關(guān)鍵字static,比如:動(dòng)態(tài)變量:inti靜態(tài)變量:staticinti
2、動(dòng)態(tài)變量在子程序中,每次調(diào)用時(shí)都會(huì)從零開始,不會(huì)保留原有數(shù)據(jù),靜態(tài)變量調(diào)用時(shí)原有值不會(huì)發(fā)生改變,比如:main(){intifor(i=0i<5i )fun()//fun1()}voidfun()//輸出結(jié)果為11111{intjj printf("%d",j)}voidfun1()//輸出結(jié)果為12345{staticintjj printf("%d",j)}