C#构造函数

using System;

class A
{
    //静态构造函数用来初始化类的静态成员,使用类A时会自动调用,且不管该类有多少实例对象,该函数只执行一次
    static A()
    {
        Console.WriteLine("类A静态构造函数被调用");
    }

    public A()
    {
        Console.WriteLine("类A默认构造函数被调用");
    }

    public A(int i)
    {
        Console.WriteLine("类A带参构造函数被调用");
    }
}

class B:A
{
    public B()
    {
        Console.WriteLine("类B默认构造函数被调用");
    }
    public B(int i):base(i)//base关键字,指定调用基类某个版本的构造函数
    {
        Console.WriteLine("类B带参构造函数被调用");
    }
}
public class Test
{
    static void Main()
    {
        //类A实例化了两次,但其静态构造函数只执行了一次
        A a = new A();
        A a1 = new A();

        Console.WriteLine();

        //实例化类B的时候,会首先调用其基类A的默认构造函数;当需要指定调用基类其他版本构造函数时,需用base关键字
        B b = new B();
        B b1 = new B(100);
    }
}



原文链接:http://www.cnblogs.com/ArmyShen/archive/2012/08/27/2657916.html

原文地址:https://www.cnblogs.com/Percy_Lee/p/5159818.html