首页 > 代码库 > 类的构造函数(器)constructor

类的构造函数(器)constructor

九 类的构造函数 constructor

默认构造函数

每个类在建立和实例化为对象的时候都会首先调用默认的构造函数。

 技术分享

如图:

类中的变量,数字类型的默认赋值为0,字符类型的默认赋值为Null。

要与一般变量的初始值区分开:如下(编译不通过)

 技术分享

 

构造函数的重载和继承

using System ;class A{    public int i;    public string s;    public A()     //修改默认的构造函数    {        i=100;        s="石头";    }    public A(int i):this()  //重载构造函数并继承A();    {        this.i=i;    }    public A(string s):this()//重载构造函数并继承A();    {        this.s=s;    }    public A(int i,string s):this()//重载构造函数并继承A();    {        this.i=i;        this.s=s;    }}class Test{    static void Main()    {        A a=new A ();               //调用第一个构造函数        Console.WriteLine("第一个构造器");        Console.WriteLine(a.i);        Console.WriteLine(a.s);        A a1=new A (1);             //调用第二个构造函数        Console.WriteLine("第二个构造器");        Console.WriteLine(a1.i);        Console.WriteLine(a1.s);        A a2=new A ("我是");         //调用第三个构造函数        Console.WriteLine("第三个构造器");        Console.WriteLine(a2.i);        Console.WriteLine(a2.s);        A a3=new A (2,"中国人");      //调用第四个构造函数        Console.WriteLine("第四个构造器");        Console.WriteLine(a3.i);        Console.WriteLine(a3.s);        }}

 

运行结果:

 技术分享

 

 技术分享

 

 技术分享

B类继承A类,调用的始终是A的默认的构造函数,注意:当A中只有带参数的构造函数的时候,编译不通过。

静态构造器

 技术分享

如下:静态构造器的特点

 技术分享

技术分享

 

类的构造函数(器)constructor