Конструктор можно также объявить как static
. Статический конструктор, как правило, используется для инициализации компонентов, применяемых ко всему классу, а не к отдельному экземпляру объекта этого класса. Поэтому члены класса инициализируются статическим конструктором до создания каких-либо объектов этого класса. Ниже приведен простой пример применения статического конструктора.
// Применить статический конструктор.
using System;
class Cons {
public static int alpha;
public int beta;
// Статический конструктор,
static Cons() {
alpha = 99;
Console.WriteLine("В статическом конструкторе.");
}
// Конструктор экземпляра,
public Cons() {
beta = 100;
Console.WriteLine("В конструкторе экземпляра.");
}
}
class ConsDemo {
static void Main() {
Cons ob = new Cons();
Console.WriteLine("Cons.alpha: " + Cons.alpha);
Console.WriteLine("ob.beta: " + ob.beta);
}
}
При выполнении этого кода получается следующий результат.
В статическом конструкторе.
В конструкторе экземпляра.
Cons.alpha: 99
ob.beta: 100
Обратите внимание на то, что конструктор типа static
вызывается автоматически, когда класс загружается впервые, причем до конструктора экземпляра. Из этого можно сделать более общий вывод: статический конструктор должен выполняться до любого конструктора экземпляра. Более того, у статических конструкторов отсутствуют модификаторы доступа — они пользуются доступом по умолчанию, а следовательно, их нельзя вызывать из программы.
Применение ключевого слова static | Статические классы |