构造函数:构造类的,构造类的方法,创建对象的时候才会调用构造函数
作用:
创建对象,初始化类的成员
存在一个默认的无参构造函数
只要写了构造函数,就替代了默认构造函数
子类创建对象,会调用父类构造函数
先调谁,后调谁?
先调用父类,再调用子类构造函数
构造函数分为:实例构造函数,静态构造函数,私有构造函数
实例构造函数:
1)构造函数的名字与类名相同。
2)使用 new 表达式创建类的对象或者结构时,会调用其构造函数。并且通常初始化新对象的数据成员。
3)构造函数可以有参数,可以以多态的形式存在多个构造函数。
静态构造函数
静态构造函数不使用访问修饰符或不具有参数。
在创建第一个实例或引用任何静态成员之前,将自动调用静态构造函数以初始化类。
不能直接调用静态构造函数。
用户无法控制在程序中执行静态构造函数的时间。
静态构造函数的一种典型用法是在类使用日志文件且将构造函数用于将条目写入到此文件中时使用。
静态构造函数对于创建非托管代码的包装类也非常有用,这种情况下构造函数可调用 LoadLibrary 方法。
如果静态构造函数引发异常,运行时将不会再次调用该函数,并且类型在程序运行所在的应用程序域的生存期内将保持未初始化
私有构造函数
私有构造函数是一种特殊的实例构造函数。 它通常用于只包含静态成员的类中。 如果类具有一个或多个私有构造函数而没有公共构造函数,则其他类(除嵌套类外)无法创建该类的实例。