review——C# (1)静态构造函数
2021-04-08 00:25
标签:class view 必须 div 引用 using 关键字 ogr from FROM P102 构造函数也可以声明为static。实例构造函数初始化类的每个新实例,而static构造函数初始化类级别的项。通常,静态构造函数初始化类的静态字段。 --初始化类级别的项的时间: □在引用任何静态成员之前 □在创建类的任何实例之前 --静态构造函数在以下方面与实例构造函数类似 □静态构造函数的名称必须和类名相同 □构造函数不能返回值 --静态构造函数在以下方面和实例构造函数不同 □静态构造函数声明中使用static关键字 □类只能有一个静态构造函数,且不能带参数 □静态构造函数不能有访问修饰符 以下即为一个静态构造函数的示例。其形式和实例构造函数相同,只是增加了static关键字。 输出为: 0 1 通过这个例子,我们可以了解到: 1、之前所了解到的,在自己未写构造函数时,编译器会自动加上一个无参的默认构造函数。对于这一点,静态构造函数不包含在内,即就算自己写了静态构造函数,但如果没写其他构造函数,那么编译器仍然会自动加上一个无参的默认构造函数。 2、静态字段如果没有赋初值,也会像类字段一样,用空值作为默认值。(对于这里的int就是用0作为默认值) 关于静态构造函数,一些其他需要注意的有: --类既可以有静态构造函数也可以有实例构造函数 --如同静态方法,静态构造函数不能访问所在类的实例成员,因此也不能使用this访问器 --不能从程序中显示调用静态构造函数,系统会自动调用它们,在: □类的任何实例被创建之前 □类的任何静态成员被引用之前 review——C# (1)静态构造函数 标签:class view 必须 div 引用 using 关键字 ogr from 原文地址:https://www.cnblogs.com/quintessence/p/9098090.html 1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5 using System.Threading.Tasks;
6
7 namespace review
8 {
9 class class1
10 {
11 public static int z;
12 int t;
13 static class1()
14 {
15
16 }
17 }
18 class class2
19 {
20 public static int z;
21 int t;
22 static class2()
23 {
24 z = 1;
25 }
26 }
27 class Program
28 {
29 static void Main(string[] args)
30 {
31 class1 p = new class1();
32 Console.WriteLine(class1.z.ToString());
33 class2 q = new class2();
34 Console.WriteLine(class2.z.ToString());
35 Console.Read();
36 }
37 }
38 }
上一篇:C#设计模式——装饰者模式
文章标题:review——C# (1)静态构造函数
文章链接:http://soscw.com/index.php/essay/72624.html