Sobes.tech
Back to questions
Junior — Middle
74

Как отличить статический метод от метода, который вызывается на конкретном объекте класса?

Answer from AI

sobes.tech AI

В C# статический метод определяется с ключевым словом static и вызывается на самом классе, а не на экземпляре объекта.

Отличия:

  • Статический метод:

    • Объявляется с static.
    • Не имеет доступа к нестатическим полям и методам класса.
    • Вызывается через имя класса: ClassName.MethodName().
  • Метод экземпляра:

    • Не имеет static.
    • Вызывается на конкретном объекте: obj.MethodName().

Пример:

class MyClass
{
    public static void StaticMethod()
    {
        Console.WriteLine("Статический метод");
    }

    public void InstanceMethod()
    {
        Console.WriteLine("Метод экземпляра");
    }
}

// Вызовы
MyClass.StaticMethod(); // вызов статического метода

MyClass obj = new MyClass();
obj.InstanceMethod(); // вызов метода на объекте

Таким образом, ключевое отличие — способ вызова и наличие ключевого слова static.