1. 程式人生 > >[ 轉載 ]Java:成員變量,局部變量,靜態變量的區別

[ 轉載 ]Java:成員變量,局部變量,靜態變量的區別

寶馬 需要 聯系 類的屬性 共存 類變量 說話 java語言 別名

精簡後方便自己理解。

  • 成員變量
    我們研究一個事物:
    屬性:外在特征;如身高,體重
    行為:能做什麽;如說話,打球。

在Java語言中,最基本的單位是類(class),類就是用來體現事物的。

屬性:類中的成員變量
行為:類中的成員方法
定義類就是在定義類中的成員(成員變量和成員方法)
類是一個抽象的概念,對象就是類的具體的體現。
例如:汽車,可以看做一個汽車類,每一臺車都有顏色和輪胎數(可以定義為屬性,即成員變量),每一臺車都可以跑(即車的行為,對應類總的成員方法),我們把汽車實例化一下,即會產生一個對象,比如奔馳、寶馬.

在使用變量時需要遵循的原則為:就近原則

首先在局部範圍找,有就使用;接著在成員位置找。

  • 靜態變量
    static修飾的變量稱為靜態變量,其實質上就是全局變量。如果某個內容是被所有對象所共享,那麽該內容就應該用靜態修飾;沒有被靜態修飾的內容,其實是屬於對象的特殊描述。
成員變量局部變量靜態變量
定義位置 在類中,方法外 方法中,或者方法的形式參數 在類中,方法外
初始化值 有默認初始化值 無,先定義,賦值後才能使用 有默認初始化值
調用方式 對象調用 -- 對象調用,類名調用
存儲位置 堆中 棧中 方法區
生命周期 與對象共存亡 與方法共存亡 與類共存亡
別名 實例變量 -- 類變量

在一個類中,如果一個變量能夠用來描述一個類的屬性,那就定義為成員變量,否則,它就應該定義為局部變量。而如果一個變量在全局中都能使用(某個內容是被所有對象所共享),那麽我們就可以把這個變量用static來修飾,即為靜態變量。(還要註意它與靜態方法的緊密聯系,這裏且不細述了).



[ 轉載 ]Java:成員變量,局部變量,靜態變量的區別