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.