成員變數和方法的區別?

2021-10-20 00:25:39 字數 778 閱讀 6561

成員變數有兩種:

成員方法有三種:

public class person 

//類方法,分配到方法區

static

intgetage()

public person()

//例項方法,分配到方法區

public string getlike()

//例項方法

public void

setlike

(string like)

}

類變數的特點:

它是該類所有例項共享的屬性,在記憶體中只有乙個地方儲存這個變數(在方法區)。在類載入的準備階段,分配到方法區,初始化階段正式賦值。

所有例項都可以修改這個類變數的值。(前提是沒有被final修飾) 。

訪問類變數不用例項化物件,直接通過類可以使用。

生命週期取決於類的生命週期。

類方法的特點:

直接通過類就可以呼叫。

類方法可以直接呼叫類變數和類方法。

類方法不可以直接呼叫例項變數和例項方法。

類方法沒有this,因為沒有例項。

例項變數和例項方法的特點:

都必須通過例項物件才可以訪問。(例項變數位於堆中,生命週期取決於例項的生命週期)

成員變數和類變數的區別

由static修飾的變數成為靜態變數,其實質上就是乙個全域性變數。如果某個內容是被所有物件所共享,那麼該內容就應該用靜態修飾 沒有被靜態修飾的內容,其實是屬於物件的特殊描述。不同的物件的是例項變數將被分配不同的記憶體空間,如果類的成員變數有類變數,那麼所有都物件的這個類變數都分配給相同的一處記憶體 ...

成員變數和類變數的區別

由static修飾的變數稱為靜態變數,其實質上就是乙個全域性變數。如果某個內容是被所有物件所共享,那麼該內容就應該用靜態修飾 沒有被靜態修飾的內容,其實是屬於物件的特殊描述。不同的物件的例項變數將被分配不同的記憶體空間,如果類中的成員變數有類變數,那麼所有物件的這個類變數都分配給相同的一處記憶體,改...

區域性變數和成員變數的區別

區域性變數和成員變數的區別?1 在類中的位置不同 成員變數 成員位置 在類中,方法外定義的變數 區域性變數 在方法定義中,或者方法宣告上的變數 2 在記憶體中的位置也不同 成員變數 在堆記憶體中 區域性變數 在棧記憶體中 3 生命週期 成員變數 隨著物件的建立而存在,隨著物件的 而消失 區域性變數 ...