物件導向程式設計(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個同類的物件,那麼每乙個物件都分別...