Разлика между статичен и нестатичен метод

Разлика между статичен и нестатичен метод
Разлика между статичен и нестатичен метод

Видео: Разлика между статичен и нестатичен метод

Видео: Разлика между статичен и нестатичен метод
Видео: Ошибки в сантехнике. Вводной узел в квартиру. 2024, Ноември
Anonim

Статичен срещу нестатичен метод

Методът е поредица от оператори, които се изпълняват за изпълнение на конкретна задача. Методите могат да приемат входове и да произвеждат изходи. Статичните и нестатичните методи са два вида методи, присъстващи в обектно-ориентираните езици за програмиране. Статичният метод е метод, който е свързан с клас. Метод, който е свързан с обект, се нарича нестатичен (инстанционен) метод. В обектно ориентираните езици методите се използват като механизъм за работа с данни, които се съхраняват в обекти.

Какво е статичен метод?

В обектно-ориентираното програмиране статичният метод е метод, който е свързан с клас. Следователно статичните методи нямат способността да работят върху конкретен екземпляр на клас. Статичните методи могат да бъдат извикани без използване на обект от класа, който съдържа статичния метод. Следва пример за дефиниране на статичен метод в Java. Статиката трябва да се използва при дефиниране на статичен метод в Java.

public class MyClass { public static void MyStaticMethod() { // код на статичния метод }

}

Статичният метод, дефиниран по-горе, може да бъде извикан по следния начин, използвайки името на класа, към който принадлежи.

MyClass. MyStaticMethod();

Едно важно нещо, което трябва да се отбележи е, че статичните методи имат достъп само до статични членове.

Какво е нестатичен метод?

Нестатичен метод или метод на екземпляр е метод, който е свързан с обект в клас. Следователно нестатичните методи се извикват с помощта на обект от класа, в който е дефиниран методът. Нестатичен метод може да има достъп до нестатични членове, както и до статични членове на клас. В много обектно-ориентирани езици (като C++, C, Java), когато се извика нестатичен метод, обектът, който е извикал метода, се предава като неявен аргумент (нарича се препратка „това“). Така че вътре в метода тази ключова дума може да се използва за препратка към обекта, който е извикал метода. Следва пример за дефиниране на метод на екземпляр в Java.

public class MyClass { public void MyInstanceMethod() { // код на метода на екземпляра }

}

Методът на екземпляра, дефиниран по-горе, може да бъде извикан по следния начин, използвайки обект от класа, към който принадлежи.

MyClass objMyClass=нов MyClass();

objMyClass. MyInstanceMethod ();

Каква е разликата между статичен и нестатичен метод?

Статичните методи са методи, които са свързани с клас, докато нестатичните методи са методи, които са свързани с обекти от клас. Класът трябва първо да бъде инстанциран, за да извика нестатичен метод, но статичните методи нямат това изискване. Те могат просто да бъдат извикани с помощта на името на класа, който съдържа статичния метод. Друга важна разлика е, че нестатичният метод обикновено притежава препратка към обекта, който е извикал метода и може да бъде достъпен чрез ключовата дума this вътре в метода. Но тази ключова дума не може да се използва в статични методи, тъй като те не са свързани с определен обект.

Препоръчано: