构造方法:用于实例化对象。
一般情况下,类或者结构体中都会存在一个默认的无参构造方法。如果我们在类中手动书写了有参的构造方法,那么这个无参构造方法就会被覆盖掉;但是结构体中却不会被覆盖,即使我们在结构体中书写了有参构造方法,无参构造方法依然可以使用。
【在使用单例模式时,我们可以书写 private 类型的构造方法,防止在其他类中再次被实例化,增强代码的健壮性。】
静态构造方法:用于初始化静态成员。
一个类中只能有一个静态构造方法,且没有任何访问修饰符,也没有任何参数。
静态构造方法会在程序创建第一个实例,或者引用任何静态成员之前,完成类中静态成员的初始化。
对象初始化器:在一个类中,我们通常使用构造方法来对字段、属性等成员赋值,完成对象的初始化。但是当一个类中的字段、属性很多很多的时候,不可能为各种情况都定义构造方法,这个时候我们可以使用“对象初始化器”来进行字段、属性的赋值,完成对象初始化。
语法格式如下:
1 public class Test 2 { 3 private void Start() 4 { 5 AA b = new AA() { a = 1, b = true }; 6 AA a = new AA() { b = true, c = "str" }; 7 } 8 } 9 public class AA 10 { 11 public int a; 12 public bool b; 13 14 private string _c; 15 public string c 16 { 17 get { return _c; } 18 set { _c = value; } 19 } 20 }