C#中的实例构造函数
实例构造函数其实是一种特殊的方法,它在创建每一个新实例的时候执行。
以下是构造函数的用法:
(1)构造函数用于初始化类的状态。
(2)如果希望能够从类的外部创建类的实例,需要将构造函数声明为public。
构造函数的注意事项:
(1)构造函数的名称与类名相同。
(2)构造函数不能有返回值,举个例子比较好理解:
class Myclass{ DateTime TimeOfInstatiation;//字段 public Myclass(){//构造函数 TimeOfInstatiation=DateTime.Now; //初始化字段 } }
以上代码就解释了,构造函数的初始化功能,与构造函数的特点是:构造函数的名称与类名相同,构造函数不能有返回值。
介绍完通用的构造函数后我们来看看一些特殊的构造函数:
一、带参数的构造函数
特点是:
(1)构造函数可以带参数,参数语法和其他方法完全相同。
(2)构造函数可以被重载。
在使用创建对象表达式的新实例时,要使用new运算符,后面跟着类的某个构造函数。new运算符使用该构造函数创建类的实例。列如在下面的代码中,Class
1有三个构造函数,一个不带参数一个带int参数一个带string参数。Main使用各个构造函数创建实例。
class Class { int Id; string Name; public Class() { Id = 23; Name = "Nemo"; } public Class(int val) { Id = val; Name = "Nemo"; } public Class(string name) { Name = name; } public void SoundOff() { Console.WriteLine("Name {0},Id {1}",Name,Id); } } class Program { static void Main(string[] args) { Class a = new Class(); Class b = new Class(7); Class c = new Class("hello"); a.SoundOff(); b.SoundOff(); c.SoundOff(); } }
这段代码的输出结果为:
Name 23,Id Nemo
Name 7,Id Nemo
Name 23,Id hello
二、默认的构造函数:
如果在类的声明中没有显示的提供实例构造函数,那么编译器会提供一个隐示的默认的构造函数,该构造函数有以下特征:
(1)没有参数。
(2)方法体为空。
如果你为类声明了任何构造函数,那么编译器将不会为该类定义一个默认的构造函数。
三、静态的构造函数。构造函数也可以声明为static,实例构造函数初始化类的每一个新的实例,而static构造函数初始化类级别的项。通常,静态构造函数初始化类的静态字段。
(1)初始化类级别的项。
(2)在引用任何静态成员之前。
(3)在创建类的任何实例之前。
静态构造函数在一下方面与实例化构造函数相识。
(1)静态构造函数的名称与类名必须相同。
(2)构造函数不能有返回值。
静态构造函数在以下与实例构造函数不同。
(1)静态构造函数声明中必须使用static关键字。
(2)静态构造函数不能有访问修饰符。
静态构造函数注意事项:
(1)类既可以有静态构造函数也可以有实例化构造函数。
(2)如同静态方法,静态构造函数不能访问类中的所有实例成员,因此也不能用this访问器。
(3)不能从程序中显示的调用静态构造函数,系统会自动调用它们,在类的任何实例创建之前,类的任何静态成员被调用之前。
微信公公众号 搜索 “不正经小前端” 并关注,和我一起学习海量前端技术
本文来自博客园,作者:七分暖,转载请注明原文链接:https://www.cnblogs.com/lin494910940/articles/9484652.html

浙公网安备 33010602011771号