多型中函式 成員 靜態函式的特點

2021-06-26 18:04:08 字數 859 閱讀 1584

在多型中成員函式的特點:

在編譯時期:參閱引用型變數所屬的類中是否有呼叫的方法。如果有,編譯通過,如果沒有,編譯失敗。

在執行時期:參閱物件所屬的類中是否有呼叫的方法。

簡單總結就是:成員函式在多型呼叫時,編譯看左邊,執行看右邊。

class fu

void method2() }

class zi extends fu

void method3() }

public class duotai

}

duotai.class執行後的結果是:zi method_1 //參閱 zi 物件所屬的類中是否有呼叫的方法。

fu method_2//從父類繼承的方法。

在多型中成員變數的特點:

無論編譯和執行,都參考左邊(引用型變數所屬的類)。

在多型中靜態成員函式的特點:

無論編譯和執行,都參考左邊(引用型變數所屬的類)。

class fu

void method2()

static void methed4() }

class zi extends fu

void method3()

static void methed4() }

public class duotai

}

以上**的執行結果是:10 // 引用型變數 f 所屬的類是父類,所以結果是父類中的num = 10

fu method_4 // 引用型所述的類

20 // 引用型變數 z 所屬的類是子類,所以結果還是父類中的num = 20

zi method_4 // 引用型所述的類

靜態字段 靜態函式 成員常量

靜態字段 靜態欄位被類的所有例項共享,所有的例項都訪問同一記憶體塊。因此,如果該記憶體塊的值被乙個例項修改了,這種改變對所有例項是可見的。訪問靜態變數通過類名.欄位名訪問 即使類沒有例項任何物件,也存在靜態字段。如果靜態欄位有初始化語句,不必要在程式執行之前就賦初始值,可以在使用該字段前再賦值 這點...

C 靜態成員 靜態資料成員和靜態函式成員

由關鍵字static修飾說明的類成員,成為靜態類成員 static class member 包括 靜態資料成員和靜態函式成員。類的靜態成員為其所有物件共享,不管有多少物件,靜態成員只有乙份存於公用記憶體中。雖然使用static修飾說明,但與函式中的靜態變數有明顯差異。在類定義中,用關鍵字stati...

C 靜態資料成員初始化及靜態函式成員

1.定義靜態資料成員後要對靜態資料成員進行初始化!靜態資料成員的初始化 資料型別 類名 靜態資料成員 值 2.靜態資料成員往往數私有的,靜態資料成員不能直接訪問,要通過定義為公有的靜態函式成員來訪問靜態資料成員。3.靜態函式成員介面實現時在前面不加 static 字首。4.靜態函式成員,不能直接訪問...