成員變量 | 局部變量 |
在類內部定義的變量 | 在方法內部定義的變量 |
有訪問權限修飾符 | 沒有訪問權限修飾符 |
有靜態成員變量 | 沒有靜態局部變量 |
系統可以自動為成員變量賦初值 | 系統不會為局部變量賦初值 |
只要類在某個作用域中,其字段也(也稱成員變量)也在該作用域內 | 局部變量存在於表示聲明該變量的塊語句或方法結束的右花括號({})之前的作用域內 |
類的成員變量,如果是實例成員變量,它和對象的生存期相同。而靜態成員變量的生存期是整個程序運行期 | 局部變量的生存周期與方法的執行期相同。當方法執行到定義局部變量的語句時,局部變量被創建;執行到它所在的作用域的最后一條語句時,局部變量被銷毀 |
局部變量可以和成員變量同名,且在使用時,局部變量具有更高的優先級,同名的局部變量會屏蔽掉成員變量。為了訪問被屏蔽的成員變量,需要使用一個前綴"this",它表示的是"本對象" | 在同一個方法中,不允許有同名的局部變量。在不同的方法中,可以有同名的局部變量,它們互不干涉 |