构造函数是一种特殊的函数,其作用一般用于初始化对象。构造函数是在类的实例化时候开始执行的,用于初始化对象的一些默认设置。
一般情况下,如果没有提供任何构造函数,编译器会在后台自动创建一个无参数的构造函数,这个一个非常基本的构造函数,它只能把类中所有的字段初始化成相应类型的默认值:比如,int类型初始化0 bool类型初始化false;引用类型初始化为null。
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
public class Person { private string Name; private int Age; }
一旦给出构造函数,编译器就不再自动创建一个默认的构造函数:
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
public class Person { private string Name; private int Age; public Person(string name, int age) { this.Name = name; this.Age = age; } }
还有一种构造函数是静态构造函数,该构造函数有以下特点:
1.只允许有一个没有访问修饰符、无参的静态构造函数
2.在加载类的时候就开始执行静态构造函数,而且只执行一次,而普通构造函数是在实例化对象的时候开始执行,也就是说静态方法是所有构造函数中最先执行的方法
3.静态方法不能被继承