靜態(tài)變量和局部變量的區(qū)別 被static修飾類變量和成員變量的區(qū)別?
被static修飾類變量和成員變量的區(qū)別?局部變量和成員變量主要是他們作用域的區(qū)別,成員變量個(gè)是類內(nèi)部;局部變量是定義其的方法體內(nèi)部(或者方法體內(nèi)部的某一程序塊內(nèi)——大括號(hào),主要看定義的位置)。另外,
被static修飾類變量和成員變量的區(qū)別?
局部變量和成員變量主要是他們作用域的區(qū)別,
成員變量個(gè)是類內(nèi)部;局部變量是定義其的方法體內(nèi)部(或者方法體內(nèi)部的某一程序塊內(nèi)——大括號(hào),主要看定義的位置)。
另外,成員變量可以不顯式初始化,它們可以由系統(tǒng)設(shè)定默認(rèn)值;局部變量沒有默認(rèn)值,所以必須設(shè)定初始賦值。
還有,在內(nèi)存中的位置也不一樣。成員變量在所在類被實(shí)例化后,存在堆內(nèi)存中;局部變量在所在方法調(diào)用時(shí),存在棧內(nè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)}