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
: base(i)
59
{ }
60
}

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60
