C# статическое ключевое слово
Статическое ключевое слово C#
В этом руководстве мы узнаем о ключевом слове static в C# с помощью примеров.
В C#, если мы используем 04
ключевое слово с членами класса, то будет одна копия члена типа.
Кроме того, все объекты класса используют одну копию вместо создания отдельных копий.
<час>Статические переменные C#
Если объявлена переменная 17
, мы можем получить доступ к переменной, используя имя класса. Например,
09
Вывод
18
В приведенном выше примере мы создали статическую переменную с именем department. . Поскольку переменная статическая, мы использовали имя класса Student. для доступа к переменной.
<час>Статические переменные и переменные экземпляра
В C# каждый объект класса будет иметь собственную копию переменных экземпляра. Например,
26
Здесь оба объекта s1 и s2 будут иметь отдельные копии переменной studentName . И они отличаются друг от друга.
Однако, если мы объявим переменную статической, все объекты класса будут использовать одну и ту же статическую переменную. И нам не нужно создавать объекты класса для доступа к статическим переменным.
Пример:статическая переменная C# и. Переменная экземпляра
30
Вывод
48
В приведенной выше программе класс Student имеет нестатическую переменную с именем studentName. и статическая переменная с именем schoolName .
Внутри Программы класс,
23
/37
- вызывает нестатическую переменную, используя объекты s1 и s2 соответственно44
- вызывает статическую переменную, используя имя класса
Поскольку название школы одинакова для всех учеников, хорошо сделать schoolName статический. Это экономит память и делает программу более эффективной.
<час>Статические методы C#
Как и статические переменные, мы можем вызывать статические методы, используя имя класса.
56
Здесь мы получили доступ к статическому методу непосредственно из Program. классы, используя имя класса.
Когда мы объявляем метод статическим, все объекты класса используют один и тот же статический метод.
Пример:статические и нестатические методы C#
69
Вывод
71
В приведенной выше программе мы объявили нестатический метод с именем display1(). и статический метод с именем display2() внутри класса Test .
Внутри класса Program
55
- получить доступ к нестатическому методу, используя s1 объект60
- получить доступ к статическому методу, используя имя класса Test
Примечание :в C# Main метод статический. Таким образом, мы можем вызывать его без создания объекта.
<час>Статический класс C#
В C#, когда мы объявляем класс статическим, мы не можем создавать объекты класса. Например,
87
В приведенном выше примере у нас есть статический класс Test. . Мы создали объект t1 класса Тест .
Поскольку мы не можем сделать объект статического класса, мы получаем следующую ошибку:
97
Обратите внимание, что поле и метод статического класса также являются статическими, поскольку внутри статического класса могут быть только статические члены.
Примечание :мы не можем наследовать статический класс в C#. Например,
105пре> <час>Доступ к статическим членам в классе
Если мы обращаемся к статическим переменным и методам внутри одного и того же класса, мы можем получить к ним прямой доступ, не используя имя класса. Например,
112Вывод
127Здесь мы обращаемся к статическому полю age. и статический метод
77
без использования имени класса.
Язык C