Статичний проти нестатичний метод
Метод - це серія тверджень, яка виконується для виконання конкретного завдання. Методи можуть приймати входи та отримувати результати. Статичні та нестатичні методи - це два типи методів, присутні в об'єктно-орієнтованих мовах програмування. Статичний метод - це метод, який асоціюється з класом. Метод, який асоціюється з об'єктом, називається нестатичним (екземпляром) методом. В об'єктно-орієнтованих мовах методи використовуються як механізм роботи над даними, які зберігаються в об'єктах.
Що таке статичний метод?
В об'єктно-орієнтованому програмуванні статичний метод - це метод, який асоціюється з класом. Тому статичні методи не мають можливості оперувати певним екземпляром класу. Статичні методи можна викликати без використання об’єкта класу, який містить статичний метод. Далі наводиться приклад визначення статичного методу на Java. Статичний слід використовувати при визначенні статичного методу на Java.
публічний клас MyClass загальнодоступна статична недійсність MyStaticMethod () // код статичного методуСтатичний метод, визначений вище, можна назвати наступним чином, використовуючи назву класу, якому він належить.
MyClass.MyStaticMethod ();
Важливо відзначити, що статичні методи можуть отримати доступ лише до статичних членів.
Що таке нестатичний метод?
Нестатичний метод або метод екземпляра - це метод, який асоціюється з об'єктом у класі. Тому нестатичними методами називають використання об'єкта класу, в якому визначено метод. Нестатичний метод може отримати доступ до нестатичних членів, а також до статичних членів класу. У багатьох об'єктно-орієнтованих мовах (таких як C ++, C #, Java), коли викликається нестатичний метод, об'єкт, який викликав метод, передається як неявний аргумент (його називають посиланням "це"). Отже, всередині методу це ключове слово можна використовувати для позначення об’єкта, який викликав метод. Далі наводиться приклад визначення методу екземпляра в Java.
публічний клас MyClass публічна недійсна MyInstanceMethod () // код методу екземпляра
Метод екземпляра, визначений вище, можна назвати наступним чином, використовуючи об'єкт класу, якому він належить.
MyClass objMyClass = новий MyClass ();
objMyClass.MyInstanceMethod ();
Яка різниця між статичним та нестатичним методом?
Статичні методи - це методи, які асоціюються з класом, тоді як нестатичні - це методи, пов'язані з об'єктами класу. Клас потрібно спочатку екземплярувати, щоб викликати нестатичний метод, але статичні методи не мають цієї вимоги. Їх можна просто викликати, використовуючи ім'я класу, який містить статичний метод. Ще одна важлива відмінність полягає в тому, що нестатичний метод зазвичай має посилання на об'єкт, який викликав метод, і до нього можна отримати доступ, використовуючи це ключове слово всередині методу. Але це ключове слово не можна використовувати в статичних методах, оскільки вони не пов'язані з певним об'єктом.