构造函数类型:
构造函数分为实例构造函数、私有构造函数和静态构造函数
一. 实例构造函数
定义:实例构造函数又叫实例构造方法,它是一种特殊的成员函数,它主要用于为对象分配存储空间,对数据成员进行初始化.
2. 实例构造函数的定义规则:
1、实例构造函数的名字必须与类同名
2、若在声明时未定义构造函数,系统会自动生成默认的构造函数
3、实例构造函数没有返回类型,它可以带参数,也可以不带参数
4、构造方法的访问修饰符通常是public
类型的,这样在其他类中都可以创建该类的对象
5、构造方法是在创建类的对象时被调用的。通常会将一些对类中成员初始化的操作放到构造方法中去完成
6、构造函数可以重载(函数名一致,参数不一致),从而提供初始化类对象的不同方法()
二. 私有构造函数:
当没有实例字段或实例方法,当调用方法以获得类的实例时,私有构造函数可用于阻止创建类的实例。如果类中的所有方法都是静态的,可考虑使整个类成为静态的。
public class Counter
{
private Counter() { }
public static int currentCount;
public static int IncrementCount()
{
return ++currentCount;
}
}
三. 静态构造函数 :
1、静态构造函数既没有访问修饰符,也没有参数。
2、创建第一个类实例或任何静态成员被引用时,自动调用静态构造函数来初始化类,也就是说我们无法直接调用静态构造函数,也就无法控制什么时候执行静态构造函数了。
3、一个类只能有一个静态构造函数。
4、无参数的构造函数可以与静态构造函数共存。尽管参数列表相同,但一个属于类,一个属于实例,所以不会冲突
5、如果没有写静态构造函数,而类中包含带有初始值设定的静态成员,那么编译器会自动生成默认的静态构造函数
public class TestClass
{
public static string strText;
static TestClass()
{
strText = "aaaa";
}
}