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