Разрушает ли статический счетчик инкапсуляцию? - PullRequest
0 голосов
/ 18 мая 2019

У меня есть открытая статическая переменная в классе A:

public static Counter counter = new Counter(3);

Счетчик содержит методы для увеличения, уменьшения и сброса. Поскольку класс B должен увеличивать счетчик в классе A без создания нового экземпляра класса A, я сделал счетчик статическим.

Код в классе B:

A.counter.increment();

Однако я не могу не заметить, что это может нарушить инкапсуляцию, поскольку любой другой класс может увеличивать счетчик в классе А. Есть ли другой способ сделать это так, чтобы только класс B мог увеличивать счетчик в классе A?

...