У меня есть открытая статическая переменная в классе A:
public static Counter counter = new Counter(3);
Счетчик содержит методы для увеличения, уменьшения и сброса. Поскольку класс B должен увеличивать счетчик в классе A без создания нового экземпляра класса A, я сделал счетчик статическим.
Код в классе B:
A.counter.increment();
Однако я не могу не заметить, что это может нарушить инкапсуляцию, поскольку любой другой класс может увеличивать счетчик в классе А. Есть ли другой способ сделать это так, чтобы только класс B мог увеличивать счетчик в классе A?