用程式測試了一下例項化乙個類的步驟,現總結如下,不對之處請指正。
1、從堆(heap)中為例項變數以及其他資料(如指向其他類的指標以及方法的資料)分配記憶體;
2、例項變數初始化:
a. 先初始化最高一級父類中的static變數,再按級別由高到低,最後初始化當前類中的static變數;
b. 先初始化最高一級父類中的成員變數(non-static),再呼叫最高此類的構造方法;
c. 初始化下一級類中的成員變數(non-static),再呼叫此類的構造方法。如此類推,直到當前類也
完成此操作。
3、建立完畢。
測試**如下:
//父類:
public class base
static int b;
static
public base()
}//子類
public class derived extends base
static int ii;
static string ss;
static
public derived()
public static void main(string args)
}執行結果:
0. b = 0
1. ss = fanrey
2. a = 3
3. base
4. s = fanrey
5. derived
s = fanrey
i = 100
ss = fanrey
ii = 10
*************************==
C 只能例項化乙個物件的類
include include using namespace std 1.建立類 class student 2.類外實現 初始化靜態成員資料 student student total null student student string nam 0 int ag 0 student stud...
C Activator例項化類的一般步驟
1.獲得要建立例項的類的類名 var classname 命名空間namespace classname 2.得到當前類的型別 var classtype type.gettype classname 3.建立例項化類的引數陣列 var args new object 4.使用activator例項...
定義乙個類讓其只能例項化乙個物件
乙個類只例項化出乙個物件稱為單例模式 include class singleclass else private singleclass static int count 靜態成員變數count,不允許在類中初始化。定義為const則可以在這初始化,但是不可更改,不適合在這使用 int singl...