Back to questions
Junior — Middle
72
Чем отличается класс с статическими методами и полями от обычного класса с нестатическими?
Answer from AI
sobes.tech AI
Класс со статическими методами и полями отличается от обычного класса тем, что его члены принадлежат самому классу, а не конкретному объекту. Это означает:
- Статические поля и методы доступны без создания экземпляра класса.
- Они общие для всех пользователей класса — одно значение поля разделяется всеми.
- Нельзя использовать ключевое слово
thisвнутри статических методов, так как нет конкретного объекта.
Обычный класс с нестатическими членами требует создания объекта, и каждый объект имеет свои собственные значения полей.
Пример:
class Counter {
public static int TotalCount = 0; // общее для всех
public int InstanceCount = 0; // для каждого объекта свой
public void Increment() {
InstanceCount++;
TotalCount++;
}
}
// Использование:
Counter c1 = new Counter();
c1.Increment();
Counter c2 = new Counter();
c2.Increment();
Console.WriteLine(Counter.TotalCount); // 2
Console.WriteLine(c1.InstanceCount); // 1
Console.WriteLine(c2.InstanceCount); // 1