例項化乙個類的步驟

2021-03-31 08:56:30 字數 831 閱讀 2072

用程式測試了一下例項化乙個類的步驟,現總結如下,不對之處請指正。

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...