[ 轉載 ]Java:成員變量,局部變量,靜態變量的區別
阿新 • • 發佈:2019-04-05
寶馬 需要 聯系 類的屬性 共存 類變量 說話 java語言 別名
首先在局部範圍找,有就使用;接著在成員位置找。
精簡後方便自己理解。
- 成員變量
我們研究一個事物:
屬性:外在特征;如身高,體重
行為:能做什麽;如說話,打球。
在Java語言中,最基本的單位是類(class),類就是用來體現事物的。
屬性:類中的成員變量
行為:類中的成員方法
定義類就是在定義類中的成員(成員變量和成員方法)
類是一個抽象的概念,對象就是類的具體的體現。
例如:汽車,可以看做一個汽車類,每一臺車都有顏色和輪胎數(可以定義為屬性,即成員變量),每一臺車都可以跑(即車的行為,對應類總的成員方法),我們把汽車實例化一下,即會產生一個對象,比如奔馳、寶馬.
在使用變量時需要遵循的原則為:就近原則
- 靜態變量
static修飾的變量稱為靜態變量,其實質上就是全局變量。如果某個內容是被所有對象所共享,那麽該內容就應該用靜態修飾;沒有被靜態修飾的內容,其實是屬於對象的特殊描述。
成員變量 | 局部變量 | 靜態變量 | |
---|---|---|---|
定義位置 | 在類中,方法外 | 方法中,或者方法的形式參數 | 在類中,方法外 |
初始化值 | 有默認初始化值 | 無,先定義,賦值後才能使用 | 有默認初始化值 |
調用方式 | 對象調用 | -- | 對象調用,類名調用 |
存儲位置 | 堆中 | 棧中 | 方法區 |
生命周期 | 與對象共存亡 | 與方法共存亡 | 與類共存亡 |
別名 | 實例變量 | -- | 類變量 |
在一個類中,如果一個變量能夠用來描述一個類的屬性,那就定義為成員變量,否則,它就應該定義為局部變量。而如果一個變量在全局中都能使用(某個內容是被所有對象所共享),那麽我們就可以把這個變量用static來修飾,即為靜態變量。(還要註意它與靜態方法的緊密聯系,這裏且不細述了).
[ 轉載 ]Java:成員變量,局部變量,靜態變量的區別