1》創建靜態類
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WindowsFormsApplication2
{
//定義靜態類,靜態類與非靜態類的重要區別在於靜態類不能實例化,也就是說,不能使用 new 關鍵字創建靜態類類型的變量。
public static class staticClass
{
static int staticMember;//靜態類中成員也必須是靜態的,靜態成員隸屬於類,它的靜態成員都只有一個副本,在各個地方的改變都會改變其值;
//靜態類中方法前面要加static
public static string staticMethod(){
string name = "name1_小許";
return name;
}
/*
1:靜態類可以有靜態構造函數,靜態構造函數不可繼承;
2:靜態構造函數可以用於靜態類,也可用於非靜態類;
3:靜態構造函數無訪問修飾符、無參數,只有一個 static 標誌;
4:靜態構造函數不可被直接調用,當創建類實例或引用任何靜態成員之前,靜態構造函數被自動執行,並且只執行一次。
注意:
1:靜態類在內存中是一直有位置的;
2:非靜態類在實例化後是在內存中是獨立的,它的變量不會重複,在使用後會及時銷燬,所以不會出現未知的錯誤。在C#中靜態成員是比較敏感的東西,在不是十分確認的情況下不要使用;
3:建議更多地使用一般類(非靜態類)。
使用選擇:
當定義的類不需要進行實例化時,我們使用靜態類;如果需要實例化對象,需要繼承等特性時,應該使用非靜態類,並且將統一使用的變量和方法設爲靜態的,那麼所有實例對象都能訪問。
*/
}
}
2》在窗體winform中使用它
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApplication2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
label1.Text=staticClass.staticMethod();//調用靜態類不需要使用new 實例化
}
}
}
C#基礎7_10_靜態類
C#基礎7_10_靜態類