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); } }