程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 靜態和非靜態之區別

靜態和非靜態之區別

編輯:C#入門知識

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)用於對靜態字段、只讀字段等的初始化。          

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved