class ExampleTest
{
static ExampleTest()
{
Console.WriteLine("test static default constructor in unstatic class");
}
public ExampleTest()
{
Console.WriteLine("test default constructor in unstaic class");
}
}
static class ExampleTest2
{
static ExampleTest2()
{
Console.WriteLine("test static Method in static class");
}
#region 靜態類不能調用實例構造函數
//public ExampleTest2()
//{
// Console.WriteLine("test unstatic method in static class");
//}
#endregion
#region 靜態類中不能調用實例方法
//public void getAlert()
//{
// Console.WriteLine("Alert,alert");
//}
#endregion
public static void getAlert()
{
Console.WriteLine("Alert,alert");
}
}
從上面兩個類中,我們得到結論:
1、構造函數,無論在靜態類或非靜態類中,如果我們定義了一個static的構造函數,那麼只要創建這個類的實例或調用這個類的方法,都將自動調用這個Static的構造函數,並且Static的構造函數是不能有訪問權限的。static的構造函數是不能有參數的。
2、靜態類中不能調用實例構造函數
2、靜態類中不能創建非靜態的方法。即靜態方法中只能創建靜態方法,但在非靜態類中可以調用靜態方法(這個情況我們經常使用的)
____________________________________________________________________________________
靜態構造函數:
(1)用於對靜態字段、只讀字段等的初始化。