靜態類別、靜態成員、靜態方法、靜態屬性
靜態類別
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();
}
}
}
參考資料: