靜態類別、靜態成員、靜態方法、靜態屬性

 

靜態類別

1.所有靜態類別的成員(包括了屬性與方法)都必須要宣告static。

這原因很簡單,先看一個範例

 


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
    static class  Class1
    {
        public int i= 0;

        static Class1()
        {
            i = 1;
        }

        public int show()
        {
            return i;
        }
    }
}

由上可知,當宣告該類別為靜態類別時,

就表示該類別不能夠具現化Instantiated,

也就是不能使用new關鍵字來宣告一個物件;

因此該類別底下的成員也都必須成為靜態成員。

 

靜態成員

承上例,該靜態類別底下的靜態成員有

public static int i= 0;

public static int show(){};

 

靜態方法

承上例,public static int show(){};

 

靜態屬性

承上例,public static int i= 0;

 

static配合class再加上建構子可被用來做為一個程式的初始化、

全域變數的存取,順便一提,全域變數跟static用途或許有cover到,

但static可以不用宣告成全域,區域也可用static。

完整範例如下

Class1.cs


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
    static class  Class1
    {
        public static int i= 0;

        static Class1()
        {
            i = 1;
        }

        public static int show()
        {
            return i;
        }
    }
}

Program.cs


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
           Console.WriteLine(Class1.show());

           Console.ReadKey();
        }
    }
}

參考資料:

靜態類別和靜態類別成員 (C# 程式設計手冊)

static (C# 參考)

C# Static Class