C#之构造函数
//构造器的名称必须与类名相同,且没有返回值
class A : Object{ //这表示类A继承Object
public A() : base(){} //这表示引用的是父类Object的构造函数
}
//this的概念不是类本身,而是表示类创建后的实例
// 调用无参构造函数
class B{
public B(){}
public B(int i) : this() {} //:this()表示首先调用B的无参构造函数
public B(string s) : this(){} //:this()表示首先调用B的无参构造函数
}
//如果类B继承于类A,那么类B会默认调用类A的无参构造器,要是类A有包含参数的构造器,那么必须在类A显示编写一个无参的构造器
//如果类B需要调用类A的有参数的构造器,需要如下:
class A{
public A(){}
public A(int i){}
}
class B : A{
public B() : base(3){} //调用类A的有参构造器
}
静态构造器: 静态构造函数是实现对一个类进行初始化的方法成员。它一般用于对静态数据的初始化。静态构造函数不能有参数,不能有修饰符而且不能被调用,当类被加载时,类的静态构造函数自动被调用。
主要作用:对类的静态成员进行初始化
注意:
1. 在一个程序的执行过程中,静态构造器最多只执行一次
2. 静态构造器在类的静态成员初始化之后执行
3. 静态构造器在任何类的静态成员被引用之前执行
4. 静态构造器在任何类的实例变量被分配之前执行
class A{
static A(){} //静态构造器
}