小樱知识 > 生活常识什么是构造函数(什么是构造函数和析构函数)

什么是构造函数(什么是构造函数和析构函数)

提问时间:2022-07-04 15:37:50来源:小樱知识网


如果该类型没有定义构造函数,将生成不带参数的实例构造函数。

您可以声明多个不同的构造函数,并使用该关键字调用其他构造函数。

class Program { static void Main(string[] args) { AClass a = new AClass(); Console.WriteLine(a.i); AClass b = new AClass(10); Console.WriteLine(b.i); Console.ReadKey(); // 静态构造函数 // 有参数的构造函数 // 实例构造函数 // 5 // 有参数的构造函数 // 10 } } public class AClass { public int i; public static int j; static AClass() { j = 2; Console.WriteLine(\"静态构造函数\"); } public AClass() : this(5) { Console.WriteLine(\"实例构造函数\"); } public AClass(int i) { this.i = i; Console.WriteLine(\"有参数的构造函数\"); } }

创建A时,调用不带参数的构造函数,而不带参数的构造函数调用带参数的构造函数,所以先执行带参数的构造函数,将I设为5,再执行不带参数的构造函数。创建B时,只调用了带参数的构造函数。

构造函数的执行顺序

如果有一个父类和继承它的子类

执行静态构造函数(子类先于父类)。如果已经执行了父类或子类的静态构造函数,就不会再执行了。

执行实例构造函数(第一个父类后面跟着子类)。如果有这个,先调用这个之后指向的实例构造函数的重载,然后执行你自己的。

如果父类的构造函数是私有的,则不能编译子类的构造函数。子类的实例构造函数调用父类的实例构造函数。

破坏者

将在对象被垃圾回收时执行,没有参数也没有返回值。

GC控制它的执行时间,所以我们不能直接调用它。

以上内容就是为大家推荐的什么是构造函数(什么是构造函数和析构函数)最佳回答,如果还想搜索其他问题,请收藏本网站或点击搜索更多问题

内容来源于网络仅供参考
二维码

扫一扫关注我们

版权声明:所有来源标注为小樱知识网www.xiaoyin02.com的内容版权均为本站所有,若您需要引用、转载,只需要注明来源及原文链接即可。

本文标题:什么是构造函数(什么是构造函数和析构函数)

本文地址:https://www.xiaoyin02.com/shcs/441733.html

相关文章