如果在實例級別的構造函數中賦值給靜態數據成員,則每次新建對象時,值都會被重置。
靜態構造函數使用static修飾的構造函數。
一個類只可以定義一個靜態構造函數,靜態構造函數不允許訪問修飾符,並且不接受任何參數。
不論創建了多少類型的對象,靜態構造函數只執行一次。
靜態構造函數的執行優先於任何實例級別的構造函數。
class SavingAccount
{
public double currBalance;
public static double currInterestRate;
public SavingAccount(double balance)
{
currBalance = balance;
}
static SavingAccount()
{
Console.WriteLine("In Static ctor");
currInterestRate = 0.4;
}
}
{
public double currBalance;
public static double currInterestRate;
public SavingAccount(double balance)
{
currBalance = balance;
}
static SavingAccount()
{
Console.WriteLine("In Static ctor");
currInterestRate = 0.4;
}
}