構造方法:
作用:對物件的屬性(成員變數)進行初始化。
寫法:
1,構造方法的方法名與類名完全相同(大小寫必須一樣)
2,沒有返回值型別(void可以不寫,也不用寫)
3,沒有返回值,(沒有return)
//測試類
public
class demo1
}class person
//寫乙個有引數的構造方法
public
person (string name ,int age)
public
void
sayhi()
}
建構函式
建構函式的注意事項
1,如果任何建構函式都沒有寫 那麼系統會給你提供乙個無參的建構函式
2,如果你寫了有參的建構函式那麼系統預設的建構函式將 不會給你在提供使用
3,所以如果你想寫有引數的建構函式 建議自己在寫乙個無參的構造方法。
4,給成員變數的初始化
重點
寫乙個構造方法的格式以及順序。
接下來我們舉乙個例子
需求 建立乙個長方形的類
計算長方形的周長和面積
寫乙個構造方法的順序
構造方法
set/get方法
成員變數私有化
計算周長和面積是成員方法
//建立乙個類
public
class demo03
}//在建立乙個類 注意:起類名的時候盡量不要重複 尤其是不要用系統的關鍵字
class rect
public
rect(int height ,int width)
// set / get 方法
public
void
setheight1(int height)
public
intgetheight()
//成員方法
public
intgetlength()
public
intgetarea()
//返回值
public
intgetwidth()
public
void
setwidth(int width)
public
void
setheight(int height)
}
靜態變數靜態變數也叫類變數通常下我們都叫他類變數
類變數的特點:
1,隨著類載入而載入 (也可以理解為隨著類的產生而產生,隨著類的消亡而消亡)
2,類變數的比物件要建立的早所以說類變數和物件沒有什麼直接的關係。模擬那輛不依賴物件,因為類變數被載入的時候,物件還沒有被建立。
3,類變數的作用是 通過類建立的物件 可以通過靜態儲存來共享部分空間
4,可以使用類名呼叫
5,好處:節省記憶體
類變數 和成員變數的區別是什麼?
1,所屬不同
類變數:直接屬於類,隨著類是載入而載入。
成員變數:直屬物件,物件所建立出來的變數。
2,記憶體中儲存的位置不同
類變數:儲存在方法區的靜態記憶體中。
成員變數:儲存在堆記憶體中。
3,載入到記憶體的時機不同
類變數:隨著類的載入而載入
成員變數:隨著物件的建立而建立
4,呼叫方法不同
類變數:可以在物件中呼叫但是我們一般不再物件中呼叫,我們用類名呼叫
成員變數:只能使用物件去呼叫。
接下來我們隨便寫乙個例子
然後畫個圖來看一下類變數在記憶體中載入的步驟
public
class demo01
//寫乙個類
java中建構函式
3,子父類中的建構函式。在對子類物件進行初始化時,父類的建構函式也會執行,那是因為子類的建構函式預設第一行有一條隱式的語句 super super 會訪問父類中空引數的建構函式。而且子類中所有的建構函式預設第一行都是super 為什麼子類一定要訪問父類中的建構函式。因為父類中的資料子類可以直接獲取。...
靜態建構函式
1 靜態建構函式既沒有訪問修飾符,也沒有引數。因為是.net呼叫的,所以像public和private等修飾符就沒有意義了。2 是在建立第乙個類例項或任何靜態成員被引用時,net將自動呼叫靜態建構函式來初始化類,也就是說我們無法直接呼叫靜態建構函式,也就無法控制什麼時候執行靜態建構函式了。3 乙個類...
靜態建構函式
1.類的建構函式有三種 例項建構函式,私有建構函式和靜態建構函式,靜態建構函式只能初始化靜態資料,或執行一次特殊的操作,這種函式只執行一次,在第一次建立類的物件的時候或者呼叫靜態成員時就會自動呼叫它,靜態建構函式沒有訪問修飾符,也沒有任何引數。可以參考一下下面的 using system using...