物件導向程式設計 static關鍵字

2021-05-25 21:28:12 字數 1955 閱讀 1098

物件導向程式設計(static關鍵字)

* static關鍵字總結

*/class static

/*** 2,靜態方法

* a,和靜態變數相同,靜態方法同樣可以在不建立物件下,通過類名直接呼叫.

* b,在靜態方法裡只能直接呼叫同類中其它的靜態成員(包括變數和方法),而不能直接訪問類中的非靜態成員。

*    這是因為,對於非靜態的方法和變數,需要先建立類的例項物件後才可使用,而靜態方法在使用前不用建立任何物件。

* c,靜態方法不能以任何方式引用this和super關鍵字,因為靜態方法在使用前不用建立任何例項物件,

*    當靜態方法被呼叫時,this所引用的物件根本就沒有產生。

*/public static void getinfo()//靜態方法,getinfo()

public void getinfo(int count1,int count2)//動態方法,過載getinfo()

public void function()

public static void function(int count1)

public static void function(int count1,int count2)

//總結:靜態變數在記憶體中只有乙份,靜態方法和靜態變數一樣,在使用前不用建立任何例項物件,通過類名直接呼叫.

//     所以靜態方法中沒有this和super關鍵字.

//     靜態方法不可以訪問非靜態的變數和方法,但是非靜態方法可以訪問靜態的方法和變數.

/*** 3,main()方法:

* main() 方法是靜態的,因此jvm在執行main方法時不建立main方法所在的類的例項物件,

* 因而在main()方法中,我們不能直接訪問該類中的非靜態成員,必須建立該類的乙個例項物件後,

* 才能通過這個物件去訪問類中的非靜態成員

*/public static void main(string args)

}public class statictest

public static void main(string args)

}/* output from static main()

靜態成員變數和動態成員變數的對比

new static()

static var: 1

no static var: 1

new static()

static var: 2

no static var: 1

new static()

static var: 3

no static var: 1

靜態成員變數呼叫時可以不用產生物件

new static()

static var: 4

no static var: 1

4new static()

static var: 5

no static var: 115

呼叫靜態方法

new static()

static var: 6

no static var: 1

equals static function & no static function

new static()

static var: 11

no static var: 1

function is calling...

new static()

static var: 12

no static var: 1

*//* output from statictest main()

static code block is calling...

code block is calling...

code block is calling...

code block is calling...13

*/

物件導向的程式設計之static關鍵字

關鍵字static具有計數的功能,static 變數放在記憶體data segment區,若沒有static 定義的變數則成為成員變數作為new出來的物件的引數,下面分別將給出兩個程式以示區別以及執行的記憶體分析圖如下 程式一 有static public class cat void info p...

c 物件導向中static 關鍵字

c 物件導向中static 關鍵字 常用的的莫過於三大類 靜態類 類可以宣告為 static 的,以指示它僅包含靜態成員 public static class staticclass 例項分析a public class classa public static intgetnum 在主函式中呼叫...

c primer 物件導向程式設計關鍵字

1.虛函式 virtual關鍵字來定義,主要是基類的派生類,作用是為了派生類可以在相同函式名的時候,可以有自己的功能,而不用執行基類的行為。class pp void pp test 結果是 test tt tt 2.關鍵字 static 靜態成員 靜態成員如果有n個同類的物件,那麼每乙個物件都分別...