类的构造函数(器)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中只有带参数的构造函数的时候,编译不通过。

静态构造器

 

如下:静态构造器的特点

 

 

posted on 2016-08-30 17:15  天梦Interact  阅读(663)  评论(0编辑  收藏  举报