Java是一門面向?qū)ο蟮恼Z言,在實(shí)現(xiàn)面向?qū)ο蟮奶匦灾?,變量是不可或缺的一部分。Java變量的種類主要有三種:局部變量、成員變量和靜態(tài)變量。
局部變量
局部變量是在方法、代碼塊或者語句中定義的變量。局部變量只能被定義在它所在的方法內(nèi)部,這意味著其他方法不能訪問這個(gè)變量。局部變量在函數(shù)中聲明,函數(shù)執(zhí)行結(jié)束后會(huì)銷毀局部變量。局部變量主要有以下幾種類型:
自動(dòng)變量:定義在方法中的變量。
形式參數(shù):定義在方法簽名處,供方法內(nèi)部使用。
代碼塊變量:定義在代碼塊中,只在代碼塊中有效。
成員變量和靜態(tài)變量
成員變量和靜態(tài)變量都是定義在類中的變量。成員變量和靜態(tài)變量都可以在類內(nèi)任何方法中使用。但它們的使用規(guī)則卻不同。成員變量是對(duì)象特有的數(shù)據(jù),每個(gè)對(duì)象中的成員變量都相互獨(dú)立,各有自己的值,聲明成員變量時(shí)不需要加static。而靜態(tài)變量是屬于類的變量,所有屬于這個(gè)類的對(duì)象共享靜態(tài)變量,所有靜態(tài)變量都使用類名進(jìn)行訪問,聲明靜態(tài)變量時(shí)需要使用static關(guān)鍵字。
成員變量和靜態(tài)變量都可以保護(hù)數(shù)據(jù)的一致性,使用前必須進(jìn)行賦值,否則在使用時(shí)會(huì)產(chǎn)生編譯錯(cuò)誤。相對(duì)來說,靜態(tài)變量的優(yōu)點(diǎn)是:所有實(shí)例共享,而且在程序運(yùn)行前就已經(jīng)進(jìn)行了初始化,所有類中的實(shí)例都可以來訪問這個(gè)靜態(tài)變量,方便管理和維護(hù)數(shù)據(jù)的一致性。
總結(jié)
Java變量有三種類型:局部變量、成員變量和靜態(tài)變量。局部變量是在某個(gè)方法、代碼塊、語句中定義的變量,只在定義范圍內(nèi)有效。成員變量是任意對(duì)象獨(dú)有的數(shù)據(jù),可以在同一類的任意方法中使用。而靜態(tài)變量是屬于類域的變量,可以通過類直接訪問,所有該類的對(duì)象共享。選擇不同類型的變量,應(yīng)該根據(jù)具體情況而變化。之所以Java能夠有效地用來編寫大型程序,就是因?yàn)樗鼘?duì)變量做了這些約束和規(guī)范