JAVA基礎 構造方法 靜態變數

2021-08-13 02:51:02 字數 2058 閱讀 6831

構造方法

作用:對物件屬性(成員變數)進行初始化;

寫法:

1、構造方法的方法名與類名完全相同(大小寫也完全相同)

2、不是返回屬性型(沒有void)

3、沒有返回值(不能用return)

例題:

public static void main(string args)
}

class pen

//有參構造

public pen(string color,int size)

public void sayhi()

正常列印: console:顏色是:紅色 尺寸是:10

如果成員變數不給賦值就列印的情況:

public static void main(string args) }

class pen

//有參構造

public pen(string color,int size)

public void sayhi()

} 成員變數不給賦值: console:顏色是:null 尺寸是:0

console:顏色是:null 尺寸是:0null和0是系統無引數構造給的初始值

如果使用有參構造:

public static void main(string args)
}

class pen

//有參構造

public pen(string color,int size)

public void sayhi()

} 使用有引數構造: console: 顏色是:紅色 尺寸是:10 可以賦予成員變數初始值

構造方法的注意事項

構造方法的注意事項

1、如果你沒寫任何構造方法 那麼系統會給你提供乙個無引數的構造方法

2、如果你寫了有引數的構造方法 這是系統就不在為你提供免費的構造方法

3、如果你想寫有引數的構造方法 建議你把無引數的構造方法也寫上

靜態變數

先看**:

public class demo04 class star}

列印結果 console : 約翰列儂–英國

吉公尺佩吉–英國

static 放在成員變數的前面 此成員變數就成為了類裡面的靜態變數,那麼看一下靜態變數的詳細內容

靜態變數

靜態變數呼叫

1、可以使用物件去呼叫(但是不推薦)

2、靜態變數用類名去呼叫

(靜態變數不依賴物件 因為靜態變數被載入的時候 物件還沒有建立)

思考:靜態變數的特點、好處、應用場景與成員變數的區別?

特點:1、隨著類的載入而載入

2、建立優先於物件存在

3、是類的建立出來物件 共享的部分

4、可以使用類名去呼叫

好處:節省記憶體空間

應用場景:

例:公路與汽車

公路相當於靜態變數,汽車是成員變數

靜態變數與成員變數的區別

1、所屬不同

成員變數:屬於物件的 又叫物件變數(例項變數)

靜態變數:屬於類的 又叫類變數

2、記憶體中的儲存位置不同

成員變數:儲存在堆記憶體

靜態變數:儲存在方法區的靜態區

3、載入到記憶體中的時機不同(宣告週期不同)

成員變數:隨著物件的建立而建立,隨著物件的消失而消失

靜態變數:隨著類的載入而訊在

4、呼叫方法不同

成員變數:只能使用物件去呼叫

靜態變數:可以用物件去呼叫 但是一般用類去呼叫

記憶體表現步驟

1、類載入到方法區

2、載入到方法區的同時 靜態變數被載入到方法區的靜態區

3、main函式入棧

4、建立在堆記憶體中 建立物件

5、把位址初值給main函式的物件儲存

6、main函式出棧

7、程式結束

Java中構造方法,建構函式,靜態變數的用法

構造方法 作用 對物件的屬性 成員變數 進行初始化。寫法 1,構造方法的方法名與類名完全相同 大小寫必須一樣 2,沒有返回值型別 void可以不寫,也不用寫 3,沒有返回值,沒有return 測試類 public class demo1 class person 寫乙個有引數的構造方法 public...

JAVA靜態變數

靜態變數 什麼時候定義靜態變數呢?當該成員變數的值,每乙個物件都一致時,就對該成員變數進行靜態修飾。靜態變數和成員變數的區別 1,所屬範圍不同。靜態變數所屬於類,成員變數所屬物件。靜態變數也稱為 類變數 成員變數也稱為例項變數。2,呼叫不同。靜態變數可以被物件和類呼叫 一般都用類名呼叫 成員變數只能...

JAVA靜態變數

從別處出看來的靜態變數的使用條件,覺得很在理,收藏了。那麼是不是我們應該盡量地多使用靜態變數呢?其實不是這樣的,因為靜態變數生命週期較長,而且不易被系統 因此如果不能合理地使用靜態變數,就會適得其反,造成大量的記憶體浪費,所謂過猶不及。因此,建議在具備下列全部條件的情況下,盡量使用靜態變數 1 變數...