Если я понимаю ваше требование - это может решить вашу проблему:
public interface IUpdatable
{
public void setB(boolean newValue);
}
public class Test implements IUpdatable
{
private boolean b;
public String getb(){}
public void setB(boolean newValue) {this.b = newValue;}
}
public class ClassSingleton
{
public String doSomething(IUpdatable updatable)
{
updatable.setB(true);
...
}
}
Таким образом, Singleton
не нужно знать ваш класс Test
- он просто знает интерфейс IUpdatable
, которыйподдерживает установку значения B
.Каждый класс, которому необходимо установить свое поле B
, может реализовать интерфейс, а Singleton
может обновить его и не обращать внимания на его реализацию.