構造函數并不一定都是public的,以下的代碼是不是另拟感到構造函數的奇特阿?
1

public class Class1//永遠無法被執行個體化的類
2
{
3
//這個類沒有可以被外部通路的構造函數
4
private Class1()
5
6
}
7
8

9

public class Class2//隻可以在本程式内執行個體化的類
10
11
internal Class2()
12
13
14
15

16

public class Class3//隻可以通過自身執行個體化的類
17
18
private Class3()
19
20
21
//private的構造函數可以被自身的方法調用,是以可以用Class3.CreateClass3()來建立執行個體
22
public static Class3 CreateClass3()
23
24
return new Class3();
25
26
27

28

public class Class4
29
30
//Class4不能被執行個體化,但又要求子類在繼承時構造有參
31
protected Class4(int i)
32
{ }
33
34
35

36

public class Class4Sub : Class4
37
38
39
public Class4Sub(int i)
40
: base(i)
41
42
43
44
45

46

public class Class5//要求子類必須顯示調用父類構造函數的
47
48
public Class5(int i)
49
50
51

52

public class Class5Sub : Class5
53
54
public Class5Sub()
55
: base(0)
56
57
public Class5Sub(int i)
58
59
60
本文轉自shyleoking 51CTO部落格,原文連結:http://blog.51cto.com/shyleoking/806285