logo

Статичний метод проти методу екземпляра в Java

У Java методи визначають поведінку класів і об'єктів. Розуміння різниці між статичними методами та методами екземплярів є важливим для написання чистого та ефективного коду.

Що таке статичний метод?

А статичний метод належить класу, а не будь-якому конкретному об'єкту.

  • Можна викликати без створення екземпляра класу.
  • Оскільки статичні методи є специфічними для будь-якого об’єкта, вони можуть отримати доступ лише до статичних членів (даних і методів) і не можуть отримати доступ до нестатичних елементів.
Java
import java.io.*; class Geeks {  // static method  public static void greet() {  System.out.println('Hello Geek!');  }  public static void main(String[] args) {  // calling the method directily  greet();  // using the class name  Geeks.greet();  } } 

Вихід
Hello Geek! Hello Geek! 

Пояснення: Наведений вище приклад показує, що статичний метод greet() у класі Geeks може викликати статичні методи без створення об’єкта. У основному методі ми не створюємо об’єкт класу Geek, ми викликаємо метод безпосередньо за назвою класу, яке є Geeks, а потім ми друкуємо вихідні дані.



Що таке метод екземпляра?

Ан Метод екземпляра належить об'єкту.

  • Необхідно створити екземпляр класу для виклику.
  • Може отримати доступ до змінних екземплярів, інших методів екземплярів і статичних членів класу.
  • Мати доступ до thisпосилання який вказує на поточний об'єкт.
Java
import java.io.*; class Test {  String n = '';  // Instance method   public void test(String n) {   this.n = n;   } } class Geeks {  public static void main(String[] args) {  // create an instance of the class  Test t = new Test();  // calling an instance method in the class 'Geeks'  t.test('GeeksforGeeks');  System.out.println(t.n);  } } 

Вихід
GeeksforGeeks 

Пояснення: Наведений вище приклад показує, як використовувати метод екземпляра в Java. Ми створюємо об’єкт класу Test і викликаємо метод test для встановлення значення, а потім друкуємо результат.

Різниця між статичним методом і методом екземпляра

У наведеній нижче таблиці перераховано  основні відмінності між статичними методами та методами екземплярів у Java.

особливості

Статичний метод

Метод екземпляра

Визначення

Створено за допомогою ключового слова static і отримано без створення об’єкта.

заблоковані контакти

Вимагає виклику об’єкта свого класу.

Доступ

Доступ лише до статичних змінних і методів.

Може мати доступ як до статичних, так і до екземплярів.

this ключове слово

Не можна використовувати це ключове слово в статичних методах.

Можна використовувати ключове слово this для посилання на поточний об’єкт.

Перевизначити

Не підтримує поліморфізм часу виконання

Підтримує поліморфізм часу виконання

Розподіл пам'яті

Завантажується один раз на клас

Кожен об’єкт має свою копію


Створіть вікторину