2. Понятие ключевого слова static Класс С# может определять любое количество статических членов с использованием ключевого слова static. При этом соответствующий член должен вызываться непосредственно на уровне класса, а не на объектной ссылке.
3. Пример // Ошибка! WriteLine() не является методом уровня объекта1 Console с = new Console (); с.WriteLine("..."); // Правильно! WriteLine() - статический метод. Console.WriteLine("Thanks...");
4. Определение статических методов class Teenager { public static Random r = new Random(); public static intGetRandomNumber(short upperLimit) { return r.Next(upperLimit); } public static string Complain () { stnng[] messages = {"1", «2","3", "4'", "5"}; return messages[GetRandomNumberE)]; } }
5. Статические члены могут оперировать только статическими данными и вызывать статические методы определяющего их класса. Попытка использования нестатических данных класса или вызова нестатического метода класса внутри реализации статического члена приводит к ошибке времени компиляции.
8. Определение статических конструкторов //неверно, значение сбрасывется public SavingsAccount(double balance) { currlnterestRate= 0.04; currBalance= balance; }
9. Определение статических конструкторов //Нет возможности поменять статические данные class SavingsAccount { public double currBalance; // Статические данные. public static double currlnterestRate = 0.04; }
11. Определение статических конструкторов • В отдельном классе может быть определен только один статический конструктор. Другими словами, статический конструктор нельзя перегружать. • Статический конструктор не имеет модификатора доступа и не может принимать параметров. • Статический конструктор выполняется только один раз, независимо от того, сколько объектов отдельного класса создается. • Исполняющая система вызывает статический конструктор, когда создает экземпляр класса или перед первым обращением к статическому члену этого класса. • Статический конструктор выполняется перед любым конструктором уровня экземпляра.
12. Определение статических классов Основные характеристики статического класса: • Содержит только статические члены. • Создавать его экземпляры нельзя. • Он закрыт. • Не может содержать нестатических конструкторов