Sobes.tech
Junior — Middle
97

Cu diferență între elementele statice ale unei clase și cele non statice și cum funcționează acestea?

Companiile au fost întrebate
Red Collar

Răspuns de la AI

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
    }
}