Sobes.tech
Назад к вопросам
Junior — Middle
66

Чем отличаются статические элементы класса от нестатических и как они функционируют?

Компании, где спрашивали
Red Collar

Ответ от нейросети

sobes.tech AI

Статические элементы класса (переменные и методы) принадлежат самому классу, а не конкретному объекту. Они:

  • Имеют одно общее значение для всех экземпляров класса.
  • Могут вызываться без создания объекта.

Нестатические элементы принадлежат конкретному объекту и существуют отдельно для каждого экземпляра.

Пример:

class Example {
    static int staticCounter = 0;
    int instanceCounter = 0;

    void increment() {
        staticCounter++;
        instanceCounter++;
    }
}

public class Main {
    public static void main(String[] args) {
        Example a = new Example();
        Example b = new Example();

        a.increment();
        b.increment();

        System.out.println(Example.staticCounter); // 2
        System.out.println(a.instanceCounter); // 1
        System.out.println(b.instanceCounter); // 1
    }
}